/* ---------------------------------------- Image Processing pb1.c Gray Image Pattern Generation Quad area paint image 255/192/80/0 Ichinoseki National College Advanced Course ------------------------------------------ */ #include #include #include main(argc,argv) int argc; char *argv[]; { static int i,j,m; static int pixel,line; FILE *fp1; /* Command parameter check */ if (argc!=4){ printf("Usage : command pixel line output_file\n"); return 1; } /* Image size parameter load */ sscanf(argv[1],"%d",&pixel); sscanf(argv[2],"%d",&line); /* Output image file name read */ if (( fp1=fopen(argv[3],"w") )==NULL){ printf("Can't open output_file\n"); return 1; } /* ppm header output */ fprintf(fp1,"P5\n"); fprintf(fp1,"# INCT\n"); fprintf(fp1,"%s %s\n",argv[1],argv[2]); fprintf(fp1,"255\n"); /* Gray image generate */ for (j=0; j < line; j++) { for (i=0; i < pixel; i++) { if (i <=pixel/4){ m=255; } else if (pixel/4 < i && i <= 2*pixel/4){ m=192; } else if (2*pixel/4 < i && i <= 3*pixel/4){ m=80; } else{ m=0; } putc(m,fp1); } } fclose(fp1); return 0; }