为什么这种转换无法产生相同的图像数据?
let path = Bundle(for: type(of: self)).url(forResource: "Image", withExtension: "jpg")
inputData = try! Data(contentsOf: path!)
let testImage = UIImage(data: inputData)
let testImageData = UIImageJPEGRepresentation(testImage!, 1.0)
expect(testImageData).to(equal(inputData))
据我了解,UIImageJPEGRepresentation
和UIImagePNGRepresentation
can strip the image of meta data。是这个原因吗?
答案 0 :(得分:0)
没有两个特定的JPEG文件显示相同图像的原因。 JPEG文件具有很多标头信息,不同的压缩算法等。即使两个文件的压缩级别均为1(它们是吗?),它们都是有损的,因此每次扩展和重新压缩时都会有所不同。您在这里的期望是错误的。但这听起来也像是您在尝试测试不需要首先进行测试的内容。
答案 1 :(得分:0)
我遇到了同样的问题,并且能够使用UIImagePNGRepresentation
将UIImage
转换为Data
,然后进行比较以查看两个Data
是否相等