image->compression=ZipCompression;
image->columns=ping_width;
image->rows=ping_height;
+ if (((int) ping_color_type == PNG_COLOR_TYPE_GRAY) ||
+ ((int) ping_color_type == PNG_COLOR_TYPE_GRAY_ALPHA))
+ image->colorspace=GRAYColorspace;
if (((int) ping_color_type == PNG_COLOR_TYPE_PALETTE) ||
((int) ping_color_type == PNG_COLOR_TYPE_GRAY))
{
#if (MAGICKCORE_QUANTUM_DEPTH > 16)
/* PNG does not handle depths greater than 16 so reduce it even
- * if lossy.
+ * if lossy
*/
if (image->depth > 16)
image->depth=16;
#endif
#if (MAGICKCORE_QUANTUM_DEPTH > 8)
- if (image->depth > 8)
- {
- /* To do: fill low byte properly */
- image->depth=16;
- }
-
if (LosslessReduceDepthOK(image,exception) != MagickFalse)
image->depth = 8;
#endif
#endif
#if (MAGICKCORE_QUANTUM_DEPTH > 8)
- if (image->depth > 8)
- {
- /* To do: fill low byte properly */
- image->depth=16;
- }
-
if (image->depth == 16 && mng_info->write_png_depth != 16)
if (mng_info->write_png8 || LosslessReduceDepthOK(image,exception) != MagickFalse)
image->depth = 8;
(void) CopyMagickString(jpeg_image->magick,"PNG",MaxTextExtent);
jpeg_image_info->interlace=NoInterlace;
- /* Exclude all ancillary chunks */
- (void) SetImageArtifact(jpeg_image,"png:exclude-chunks","all");
-
blob=ImageToBlob(jpeg_image_info,jpeg_image,&length,
exception);