我试图将2张图像绘制到同一个画布中,对于某些图像,我在生成的UI Image中看到轻微的 colored颜色 失真,图像"变亮"了一点,我无法弄清楚原因.
这是我使用的一个简化代码,即使绘制单个图像,它也会产生 colored颜色 失真:
// originalImageURI is a local path
guard let originalImage = normalizedImageOrientation(image: originalImageURI) else { ... }
UIGraphicsBeginImageContext(originalImage.size)
originalImage.draw(at: .zero)
let combinedImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
在这个例子中,combinedImage
具有 colored颜色 失真.
我try 使用https://github.com/MetalPetal/MetalPetal,但做了同样的事情:导入和渲染原始图像也会产生 colored颜色 失真:
let mtiImage = MTIImage(cgImage: originalImage.cgImage!)
let options = MTIContextOptions()
guard let device = MTLCreateSystemDefaultDevice(), let context = try? MTIContext(device: device, options: options) else { ... }
let combinedImage = try context.makeCGImage(from: mtiImage)
let resultImage = UIImage(cgImage: combinedImage)
在这个例子中,结果图像具有 colored颜色 失真.
股票模拟器图像的 colored颜色 失真外观示例:
关于如何解决这个问题有什么建议吗?
谢谢!