#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);