使用UIImagePNGRepresentation将UIImage转换为NSData会在模拟器上与实际设备上产生不同的结果

时间:2012-02-08 19:56:49

标签: ios uiimage nsdata

我有一段代码可以将PNG图像从服务器下载到UIImage对象中,然后通过将图像转换为NSData来验证图像的正确性,并对{{1}的内容进行哈希处理将结果与已知值进行比较。

在伪代码中,我正在执行以下操作:

NSData

当我在iPad 4.2模拟器中运行此代码然后在实际的iPad设备上运行时,有时我会得到'dataLength'的不同值,因此,我的哈希在模拟器上产生的值与设备不同。

例如,我有一个TestImage1.png在设备和模拟器上都有38084字节的长度,但是我有一个较小的图像TestImage2.png,设备上的长度为9710字节,但是9751字节在模拟器上(即多41个字节!)。

我是否有一种不同的,一致的方式来获取任意UIImage* image = [UIImage imageWithData:[NSData dataWithContentsofURL:<some url>]]; NSData* imageData = UIImagePNGRepresentation(image); int dataLength = [imageData length]; ... some hashing follows 对象并将其转换为字节流,以使该流在模拟器和设备上都相同?

0 个答案:

没有答案