C – 检测文件是PNG还是JPEG

前端之家收集整理的这篇文章主要介绍了C – 检测文件是PNG还是JPEG前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有快速方法来确定某个任意图像文件是png文件还是jpeg文件,还是没有?

我很确定有一些方法,这些文件可能有某种自己的签名,应该有一些方法来区分它们.

如果可能的话,你能否在libpng / libjpeg / boost :: gil :: io中提供相应例程的名称.

解决方法

除了蒂姆耶茨建议“手动”阅读神奇数字之外,Boost GIL文档还说:

> png_read_image如果文件不是有效的PNG文件则抛出std :: ios_base :: failure.
> jpeg_read_image如果文件不是有效的JPEG文件则抛出std :: ios_base :: failure.

与其他Boost GIL例程类似.如果您只想要类型,则可能只想尝试读取dimensions,而不是加载整个文件.

猜你在找的C&C++相关文章