diff options
Diffstat (limited to 'minuitwrp')
-rw-r--r-- | minuitwrp/resources.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/minuitwrp/resources.c b/minuitwrp/resources.c index c589c9d8a..3b833cc70 100644 --- a/minuitwrp/resources.c +++ b/minuitwrp/resources.c @@ -97,14 +97,16 @@ int res_create_surface_png(const char* name, gr_surface* pSurface) { png_set_sig_bytes(png_ptr, sizeof(header)); png_read_info(png_ptr, info_ptr); - size_t width = info_ptr->width; - size_t height = info_ptr->height; + int color_type, bit_depth; + size_t width, height; + + png_get_IHDR(png_ptr, info_ptr, width, height, &bit_depth, + &color_type, NULL, NULL, NULL); + + png_byte* channels = png_get_channels(png_ptr, info_ptr); size_t stride = 4 * width; size_t pixelSize = stride * height; - int color_type = info_ptr->color_type; - int bit_depth = info_ptr->bit_depth; - int channels = info_ptr->channels; if (!(bit_depth == 8 && ((channels == 3 && color_type == PNG_COLOR_TYPE_RGB) || (channels == 4 && color_type == PNG_COLOR_TYPE_RGBA) || |