如何检查图像是否有效
例如,当我缓存了一个仅下载一半且失败的图像时,并且该图像无效,那么我想知道它是无效图像并重新下载。 (当我使用损坏的图像时,Xcode 控制台会记录错误: ImageIO:PNG IDAT:CRC 错误)
所以我想找到一种机制来检查图像的验证 适用于不同类型的 JPEG、PNG 等
有人有线索吗?
最佳答案
我首先检查有效的 header 。 其次是页脚。通常最后 8 个字节的 uint 值按顺序是 “73,69,78,68,174,66,96,130”。 这转换成 Int64 等于 5279712195050102914
这应该适用于 png :)
if (memcmp(img_bytes, "\211PNG", 4) != 0||OSReadBigInt64(img_bytes,(length - 8))!=5279712195050102914)
{
//Bad Data! Free your data and return or something
}
关于iphone - 如何检查图像在 iPhone 上是否有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8675591/