color_make_rgb(color, (v >> 16) & 255, (v >> 8) & 255, v & 255);
}
-#define MSG(x...) do{ if (verbose) log(L_INFO, ##x); }while(0)
+#define MSG(x...) do{ if (verbose) msg(L_INFO, ##x); }while(0)
int
main(int argc, char **argv)
if (io.background_color.color_space)
{
byte rgb[3];
- color_put_rgb(rgb, &io.background_color);
+ TRY(color_put(&ctx, &io.background_color, rgb, COLOR_SPACE_RGB));
printf("Background: %02x%02x%02x\n", rgb[0], rgb[1], rgb[2]);
}
if (io.exif_size)
io.flags |= IMAGE_IO_USE_BACKGROUND;
if (jpeg_quality)
io.jpeg_quality = jpeg_quality;
+ uns output_fmt = output_format ? : image_file_name_to_format(output_file_name);
+ uns output_cs = io.flags & IMAGE_COLOR_SPACE;
+ if (output_fmt != IMAGE_FORMAT_JPEG &&
+ output_cs != COLOR_SPACE_GRAYSCALE &&
+ output_cs != COLOR_SPACE_RGB)
+ {
+ MSG("Forcing RGB color space");
+ io.flags = (io.flags & ~IMAGE_COLOR_SPACE) | COLOR_SPACE_RGB;
+ }
TRY(image_io_read_data(&io, 0));
bclose(io.fastbuf);
MSG("Writing %s", output_file_name);