获取PNG图像文件尺寸
我想获取 Windows 本地文件夹中 PNG 图像文件的尺寸。如何使用 Visual C++ 实现这一目标?
I would like to get the dimension of a PNG image file inside my local folder on Windows. How can I achieve this using visual c++?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
应该很简单,png 文件由 8 字节的介绍组成,后面跟着一个标头块。在标头块中,有长度(4 个字节)、类型(4 个字节),后面是宽度和高度。
所以基本上,宽度是文件中8+8=16字节处的4字节数,高度是文件中8+8+4=20字节处的4字节数。只要阅读它们即可!
Should be easy, the png file is formed by an 8 byte intro, followed by a header chunk. Inside the header chunk you have the length (4 bytes), type (4 bytes), followed by the width and height.
So basically, the width is the 4 byte number at 8+8=16 bytes in the file, and the height is at 8+8+4=20 bytes in the file. Just read them!
除了众所周知的 GDI API(我感觉你试图避免这些)之外,还值得提供 http://msdn.microsoft.com/en-us/library/bb776499%28v=VS.85%29.aspx 一个镜头。但我自己从未使用过它:/
aside from the well-known GDI APIs (I get the feeling you are trying to avoid these) it is worth giving http://msdn.microsoft.com/en-us/library/bb776499%28v=VS.85%29.aspx a shot. Never used it myself though :/