我正在编写一个纹理加载器,试图将它与 libpng 一起使用。我目前被一小部分难住了,这没有任何意义。我正在尝试获取图像的宽度和高度,并且发现返回的值没有保存。
unsigned int width;
unsigned int height;
...
width = png_get_image_width(png_ptr, info_ptr);
height = png_get_image_height(png_ptr, info_ptr);
printf("Width: %d\nHeight: %d\n\n", width, height);
printf("Width: %d\nHeight: %d\n\n", png_get_image_width(png_ptr, info_ptr), png_get_image_height(png_ptr, info_ptr));
这将返回以下内容:
Width: 0
Height: 0
Width: 1024
Height: 2048
那么有什么关系呢?这应该有效,但很明显不是。
所有相关代码的 Pastbin:http: //pastebin.com/9RP1iqqU