blob: 44c94726e35c2b06c75fa0c407d1007153fcccaa [file] [log] [blame]
--- codecs/png.cc
+++ codecs/png.cc
@@ -16,6 +16,7 @@
*/
#include <stdlib.h>
+#include <zlib.h>
#include <png.h>
#include <iostream>
@@ -104,7 +105,7 @@
image.w = width;
image.h = height;
image.bps = bit_depth;
- image.spp = info_ptr->channels;
+ image.spp = png_get_channels(png_ptr, info_ptr);
png_uint_32 res_x, res_y;
res_x = png_get_x_pixels_per_meter(png_ptr, info_ptr);
@@ -120,10 +121,13 @@
// png_set_packswap(png_ptr);
/* Expand paletted colors into true RGB triplets */
+
+ int num_trans;
+
if (color_type == PNG_COLOR_TYPE_PALETTE) {
png_set_palette_to_rgb(png_ptr);
image.bps = 8;
- if (info_ptr->num_trans)
+ if (num_trans)
image.spp = 4;
else
image.spp = 3;