我需要在C++中获得JPEG的图像尺寸.我正在寻找一种相当简单的方法来实现它,或者是一个提供该功能的小型库.我在OpenVMS上使用C++,所以任何外部库都可能需要适应我们系统上的编译 - 所以请不要发布给大型,封闭源库的链接!
有没有人遇到任何可能做到这一点的事情,或者理解JPEG文件格式(我想我可能在这里指的是JFIF文件格式)告诉我如何开始自己的解决方案呢?
你有这个C函数可以为你提取相关数据.
这是一个C例程,但应该用C++编译好.
将一个普通的FILE指针(从fopen)传递给jpeg文件的开头,并将两个int指针设置为图像的高度和宽度.
或者你可以在Boost库中找到一个具有正确功能的jpeg类(来自Adobe Generic Image Library).
jpeg_read_dimensions
boost::gil::jpeg_read_dimensions (const char *filename)
返回指定位置的JPEG文件的宽度和高度.如果位置与有效的JPEG文件不对应,则抛出std :: ios_base :: failure.