From 331f4e202bf56e8e125a3c3032b749764cefa56e Mon Sep 17 00:00:00 2001 From: Thierry Leconte Date: Wed, 12 Nov 2003 23:17:42 +0000 Subject: [PATCH] *** empty log message *** --- main.c | 135 ++++++++++++++++++++------------------------------------- 1 file changed, 48 insertions(+), 87 deletions(-) diff --git a/main.c b/main.c index 42a24ef..2fe84ce 100644 --- a/main.c +++ b/main.c @@ -26,7 +26,6 @@ #include #include #include -#include extern getpixelrow(float *pixelv); @@ -60,21 +59,19 @@ int getsample(float *sample,int nb) return(sf_read_float(inwav,sample,nb)); } -png_text text_ptr[2]={ -{ PNG_TEXT_COMPRESSION_NONE, "Software", "atpdec (c) Thierry Leconte 2003",32 } +char signature[]="atpdec 1.3 (c) Thierry Leconte 2003"; +png_text text_ptr[]={ +{ PNG_TEXT_COMPRESSION_NONE, "Software", signature ,sizeof(signature) }, +{ PNG_TEXT_COMPRESSION_NONE, "Channel", NULL ,0 }, +{ PNG_TEXT_COMPRESSION_NONE, "Description", "NOAA POES satellite Image" ,25 } }; -static int ImageOut(char *filename,float **prow,int nrow,int depth,int width,int offset) +static int ImageOut(char *filename,const char* chid,float **prow,int nrow,int depth,int width,int offset) { FILE *pngfile; png_infop info_ptr; png_structp png_ptr; int n; -pngfile=fopen(filename,"w"); -if (pngfile==NULL) { - fprintf(stderr,"could not open %s\n",filename); - return(1); -} /* init png lib */ png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); if (!png_ptr) { @@ -89,15 +86,24 @@ info_ptr = png_create_info_struct(png_ptr); return(1); } -png_init_io(png_ptr,pngfile); png_set_IHDR(png_ptr, info_ptr, width, nrow, depth, PNG_COLOR_TYPE_GRAY, PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT); -png_set_text(png_ptr, info_ptr, text_ptr, 1); +text_ptr[1].text=chid; +text_ptr[1].text_length=strlen(chid); +png_set_text(png_ptr, info_ptr, text_ptr, 3); +png_set_pHYs(png_ptr, info_ptr, 4000,4000,PNG_RESOLUTION_METER); -printf("Writing %s\n",filename); +printf("Writing %s ... ",filename); +pngfile=fopen(filename,"w"); +if (pngfile==NULL) { + fprintf(stderr,"could not open %s\n",filename); + return(1); +} +png_init_io(png_ptr,pngfile); png_write_info(png_ptr,info_ptr); + for(n=0;n0) { if(strchr(imgopt,(int)'b')!=NULL) { sprintf(pngfilename,"%s/%s-%s.png",pngdirname,name,chid[ch]); - ImageOut(pngfilename,prow,nrow,depth,954,1125); + ImageOut(pngfilename,chid[ch],prow,nrow,depth,954,1125); } } if(ch>2) { @@ -389,7 +350,7 @@ if((strchr(imgopt,(int)'b')!=NULL) || (strchr(imgopt,(int)'c')!=NULL) || (strchr Temperature(prow,nrow,ch,1125); if(strchr(imgopt,(int)'t')!=NULL) { sprintf(pngfilename,"%s/%s-t.png",pngdirname,name); - ImageOut(pngfilename,prow,nrow,depth,954,1125); + ImageOut(pngfilename,"Temperature", prow,nrow,depth,954,1125); } } }