为什么此转换无法产生相同的图像数据?
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
可以剥离元数据的图像。这是原因吗?
显示同一图像的两个JPEG文件之所以相同,没有什么特别的原因。JPEG文件有很多标题信息、不同的压缩算法等。即使两个文件的压缩级别都为1(是吗?(,它们都是有损的,所以每次扩展和重新压缩时都会有所不同。你的期望是错误的。但这听起来也像是你在尝试测试一些一开始就不需要测试的东西。
我面临着同样的问题,能够使用UIImagePNGRepresentation
将UIImage
转换为Data
来解决,然后比较两个Data
是否相等。