0

为什么这种转换无法产生相同的图像数据?

    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))

据我了解UIImageJPEGRepresentationUIImagePNGRepresentation 可以剥离元数据的形象。是这个原因吗?

4

2 回答 2

0

显示相同图像的两个 JPEG 文件是相同的并没有什么特别的原因。JPEG 文件有很多标题信息、不同的压缩算法等。即使两个文件的压缩级别都是 1(是吗?)它们都是有损的,所以每次扩展和重新压缩时都会有所不同。你在这里的期望是错误的。但是听起来你也想测试一些一开始就不需要测试的东西。

于 2018-11-23T19:07:46.640 回答
0

我遇到了同样的问题,并且能够使用UIImagePNGRepresentationto convert the UIImageto来解决Data,然后比较看看两者Data是否相等。

于 2019-10-03T13:18:39.833 回答