diff --git a/src/png.c b/src/png.c index ab77a13..ae24cba 100644 --- a/src/png.c +++ b/src/png.c @@ -539,7 +539,11 @@ static int load_png(char *file_name, ls_settings *settings, memFILE *mf) if (settings->bpp == 3) { png_set_strip_16(png_ptr); + #if PNG_LIBPNG_VER >= 10209 + png_set_expand_gray_1_2_4_to_8(png_ptr); + #else png_set_gray_1_2_4_to_8(png_ptr); + #endif png_set_palette_to_rgb(png_ptr); png_set_gray_to_rgb(png_ptr); @@ -644,7 +648,11 @@ static int load_png(char *file_name, ls_settings *settings, memFILE *mf) png_set_strip_alpha(png_ptr); png_set_packing(png_ptr); if ((color_type == PNG_COLOR_TYPE_GRAY) && (bit_depth < 8)) + #if PNG_LIBPNG_VER >= 10209 + png_set_expand_gray_1_2_4_to_8(png_ptr); + #else png_set_gray_1_2_4_to_8(png_ptr); + #endif for (i = 0; i < height; i++) { row_pointers[i] = settings->img[CHN_IMAGE] + i * width;