diff options
| author | Francois-Olivier Devaux <fodevaux@users.noreply.github.com> | 2010-03-26 15:46:17 +0000 |
|---|---|---|
| committer | Francois-Olivier Devaux <fodevaux@users.noreply.github.com> | 2010-03-26 15:46:17 +0000 |
| commit | 3e4b0ee509b3669f67cc1b2d7b00825e91aa9106 (patch) | |
| tree | de75aa18e864afec943586fa3b6c78c8a9a90a9c /codec/j2k_to_image.c | |
| parent | 54214fb65fdc7af6b505ed0b924ea5d44d861ebf (diff) | |
Added support for PNG image format [Not yet functional under WIN32]. Thanks to Winfried for this patch. See details here http://code.google.com/p/openjpeg/issues/detail?id=16
Diffstat (limited to 'codec/j2k_to_image.c')
| -rw-r--r-- | codec/j2k_to_image.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/codec/j2k_to_image.c b/codec/j2k_to_image.c index d93c417b..32213151 100644 --- a/codec/j2k_to_image.c +++ b/codec/j2k_to_image.c @@ -58,7 +58,7 @@ #define TIF_DFMT 14 #define RAW_DFMT 15 #define TGA_DFMT 16 - +#define PNG_DFMT 17 /* ----------------------------------------------------------------------- */ typedef struct dircnt{ @@ -188,8 +188,8 @@ int load_images(dircnt_t *dirptr, char *imgdirpath){ int get_file_format(char *filename) { unsigned int i; - static const char *extension[] = {"pgx", "pnm", "pgm", "ppm", "bmp","tif", "raw", "tga", "j2k", "jp2", "jpt", "j2c" }; - static const int format[] = { PGX_DFMT, PXM_DFMT, PXM_DFMT, PXM_DFMT, BMP_DFMT, TIF_DFMT, RAW_DFMT, TGA_DFMT, J2K_CFMT, JP2_CFMT, JPT_CFMT, J2K_CFMT }; + static const char *extension[] = {"pgx", "pnm", "pgm", "ppm", "bmp","tif", "raw", "tga", "png", "j2k", "jp2", "jpt", "j2c" }; + static const int format[] = { PGX_DFMT, PXM_DFMT, PXM_DFMT, PXM_DFMT, BMP_DFMT, TIF_DFMT, RAW_DFMT, TGA_DFMT, PNG_DFMT, J2K_CFMT, JP2_CFMT, JPT_CFMT, J2K_CFMT }; char * ext = strrchr(filename, '.'); if (ext == NULL) return -1; @@ -286,6 +286,7 @@ int parse_cmdline_decoder(int argc, char **argv, opj_dparameters_t *parameters,i case TIF_DFMT: case RAW_DFMT: case TGA_DFMT: + case PNG_DFMT: break; default: fprintf(stderr, "Unknown output format image %s [only *.pnm, *.pgm, *.ppm, *.pgx, *.bmp, *.tif, *.raw or *.tga]!! \n", outfile); @@ -323,6 +324,9 @@ int parse_cmdline_decoder(int argc, char **argv, opj_dparameters_t *parameters,i case TGA_DFMT: img_fol->out_format = "raw"; break; + case PNG_DFMT: + img_fol->out_format = "png"; + break; default: fprintf(stderr, "Unknown output format image %s [only *.pnm, *.pgm, *.ppm, *.pgx, *.bmp, *.tif, *.raw or *.tga]!! \n", outformat); return 1; @@ -786,6 +790,15 @@ int main(int argc, char **argv) { fprintf(stdout,"Successfully generated Outfile %s\n",parameters.outfile); } break; + + case PNG_DFMT: /* PNG */ + if(imagetopng(image, parameters.outfile)){ + fprintf(stdout,"Error generating png file. Outfile %s not generated\n",parameters.outfile); + } + else { + fprintf(stdout,"Successfully generated Outfile %s\n",parameters.outfile); + } + break; } /* free remaining structures */ |
