我正在尝试获取PNG图像的大小(不存储到文件中)。我正在使用this code作为参考。调用GetDIBits()时,图像大小将更新为bi.biSizeImage。当bi.biCompression为BI_RGB时,一切正常。然后将压缩模式从BI_RGB更改为BI_PNG; GetDIBits()开始失败。请帮我解决这个问题。

最佳答案

根据http://msdn.microsoft.com/en-us/library/dd145023%28VS.85%29.aspx

“此扩展并非旨在向应用程序提供常规的JPEG和PNG解压缩,而是允许应用程序直接将JPEG和PNG压缩的图像发送到具有硬件支持JPEG和PNG图像的打印机。”

不允许将GetDIBits()与BI_PNG一起使用。

10-06 00:38