--- src/hpdf_image_png.c 2006-09-09 06:40:21.000000000 +0200 +++ src/hpdf_image_png.c 2011-09-20 07:45:38.000000000 +0200 @@ -106,13 +106,13 @@ { png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr); png_bytep* row_pointers = HPDF_GetMem (image->mmgr, - info_ptr->height * sizeof (png_bytep)); + png_get_image_height(png_ptr,info_ptr) * sizeof (png_bytep)); if (row_pointers) { HPDF_UINT i; - HPDF_MemSet (row_pointers, 0, info_ptr->height * sizeof (png_bytep)); - for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) { + HPDF_MemSet (row_pointers, 0, png_get_image_height(png_ptr,info_ptr) * sizeof (png_bytep)); + for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr,info_ptr); i++) { row_pointers[i] = HPDF_GetMem (image->mmgr, len); if (image->error->error_no != HPDF_OK) @@ -124,7 +124,7 @@ png_read_image(png_ptr, row_pointers); /* if (image->error->error_no != HPDF_OK) { remove this line */ if (image->error->error_no == HPDF_OK) { /* add this line */ - for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) { + for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr,info_ptr); i++) { if (HPDF_Stream_Write (image->stream, row_pointers[i], len) != HPDF_OK) break; @@ -133,7 +133,7 @@ } /* clean up */ - for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) { + for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr,info_ptr); i++) { HPDF_FreeMem (image->mmgr, row_pointers[i]); /* i-- remove this line */ } @@ -155,7 +155,7 @@ if (buf_ptr) { HPDF_UINT i; - for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) { + for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr,info_ptr); i++) { png_read_rows(png_ptr, (png_byte**)&buf_ptr, NULL, 1); if (image->error->error_no != HPDF_OK) break; @@ -302,10 +302,10 @@ goto Exit; /* 16bit image and alpha color type are not supported. */ - if (info_ptr->bit_depth == 16) + if (png_get_bit_depth(png_ptr,info_ptr) == 16) png_set_strip_16(png_ptr); - if (PNG_COLOR_MASK_ALPHA & info_ptr->color_type) { + if (PNG_COLOR_MASK_ALPHA & png_get_color_type(png_ptr,info_ptr)) { /* png image with alpha chanel is not supported. */ png_set_strip_alpha(png_ptr); } @@ -317,9 +317,9 @@ /* if the image has color palette, copy the pallet of the image to * create color map. */ - if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) + if (png_get_color_type(png_ptr,info_ptr) == PNG_COLOR_TYPE_PALETTE) ret = CreatePallet(image, png_ptr, info_ptr); - else if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY) + else if (png_get_color_type(png_ptr,info_ptr) == PNG_COLOR_TYPE_GRAY) ret = HPDF_Dict_AddName (image, "ColorSpace", "DeviceGray"); else ret = HPDF_Dict_AddName (image, "ColorSpace", "DeviceRGB"); @@ -345,16 +345,16 @@ } /* setting the info of the image. */ - if (HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)info_ptr->width) + if (HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)png_get_image_width(png_ptr,info_ptr)) != HPDF_OK) goto Exit; - if (HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)info_ptr->height) + if (HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)png_get_image_height(png_ptr,info_ptr)) != HPDF_OK) goto Exit; if (HPDF_Dict_AddNumber (image, "BitsPerComponent", - (HPDF_UINT)info_ptr->bit_depth) != HPDF_OK) + (HPDF_UINT)png_get_bit_depth(png_ptr,info_ptr)) != HPDF_OK) goto Exit; /* clean up */