Page 1 of 1

question about cloneImage problem ?

Posted: 2019-03-18T21:12:56-07:00
by haloween
i write a program to resize an image use resizeImage function,
however i found that, the depth value was changed after resizeImage function called,

then i read the source of the resize.c, find that, the depth was changed after the CloneImage()

1172 fprintf(fp, "----- image %u\n", image->depth);
1174 resize_image=CloneImage(image,columns,rows,MagickTrue,exception);
1176 fprintf(fp, "---image %u -- resize_image %u\n", image->depth, resize_image->depth );

the output is
----- image 8
---image 8 -- resize_image 16

is it a bug? or i had made something wrong.

btw, i use ImageMagick-6.3.3,


Re: question about cloneImage problem ?

Posted: 2019-03-18T21:24:33-07:00
by fmw42
When you resize your image, it creates new colors due to the resampling which blends pixels in a small neighborhood of the image. So if you create more than 256 colors, the image may go from palette 8-bit to truecolor 24-bit. This is not a bug. If you want to keep the same depth, then reset it after the resize.