如何检查图像在iPhone上是否有效

ael*_*lam 3 iphone javax.imageio

如何检查图像是否有效

例如,当我缓存一个只下载了一半而失败的图像时,这个图像无效,那么我想知道它是一个无效的图像并再次下载.(当我使用损坏的图像时,Xcode控制台会记录错误: ImageIO:PNG IDAT:CRC错误)

所以我想找到一种机制来检查图像 对不同类型的JPEG,PNG等的验证

有人有一些线索吗?

Beg*_*esy 5

我首先检查有效的标题.其次是页脚.通常,最后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
Run Code Online (Sandbox Code Playgroud)

}