static void process(void) {
int i;
+ unsigned char rgbob[3];
ppm_readppminit(encodingfile, &cols, &rows, &maxval, &informat);
if (maxval != 255) badformat("wrong maxval");
if (informat != RPPM_FORMAT) badformat("wrong format");
ppm_writeppminit(stdout, cols, rows, 255, 0);
+ for (i=0; i<3; i++)
+ rgbob[i]= background.rgb[i] * 255.0;
+
for (row=0; row<rows; row++)
for (col=0; col<cols; col++) {
unsigned char rgbi[3], rgbo[3];
if (rgbi[0]==255 && rgbi[1]==255 && rgbi[2]==255) {
- for (i=0; i<3; i++)
- rgbod[i]= background.rgb[i];
+ if (fwrite(rgbob,1,3,stdout)!=3) { perror("filling"); exit(12); }
} else {
int segnum, movfeatpos, movfeatposix, red, blue, green, ix;
for (i=0; i<3; i++)
rgbod[i]= alpha * rgbdirn[i] + (1.0 - alpha) * r->rgb[i];
- }
-
- for (i=0; i<3; i++)
- rgbo[i]= rgbod[i] * 255.0;
+ for (i=0; i<3; i++)
+ rgbo[i]= rgbod[i] * 255.0;
- if (fwrite(rgbo,1,3,stdout)!=3) { perror("writing"); exit(12); }
+ if (fwrite(rgbo,1,3,stdout)!=3) { perror("writing"); exit(12); }
+ }
}
}