#include #include #include #include "pict.h" #ifdef THINK_C #include #endif #define IW pictOut->image_W #define IH pictOut->image_H #define IN pictOut->n_comp main(int argc,char *argv[]) { unsigned char r, g, b; int j,ti,tj; char s[256]; FILE *fi; Pict pictOut; U_char *po; #ifdef THINK_C argc = ccommand(&argv); #endif if (argc!=3) { fprintf(stderr,"Uso: %s ppm pict\n",argv[0]); exit(1); } if ( NULL == ( fi = fopen( argv[1], "rb"))) { perror(argv[1]); exit(1); } fgets(s,sizeof(s),fi); /* P6 */ fgets(s,sizeof(s),fi); /* #name */ fgets(s,sizeof(s),fi); /* size */ sscanf(s,"%d%d",&ti,&tj); fgets(s,sizeof(s),fi); /* 255 */ pictOut = pict_open((char *)argv[2],P_WRITE, tj,ti,M_RGB24,NULL); if ((pictOut->pixels = (U_char*)malloc(pictOut->image_W*pictOut->n_comp))==NULL) exit(1); for(j=0;jpixels, 1, pictOut->image_W*pictOut->n_comp, fi); pict_put_line(pictOut,pictOut->pixels); } pict_close(pictOut); fclose(fi); }