位图绘图中的颜色错误按上下文创建图像

问题描述

当图片相互叠加时会发生色彩失真。我在做什么错了?

Alpha UIImage layer

Other UIImage layer

Alpha UIImage over other UIImage

//我的像素结构

struct RGBA: Codable {
        
   var r: UInt8
   var g: UInt8
   var b: UInt8
   var a: UInt8 
}

//按像素创建UIImage

let rgba = pixels.flatMap({ $0 })
let colorSpace = CGColorSpaceCreateDeviceRGB()
let data = UnsafeMutableRawPointer(mutating: rgba)

let bitmapContext = CGContext(data: data,width: size.width,height: size.height,bitsPerComponent: 8,bytesPerRow: 4 * size.width,space: colorSpace,bitmapInfo: CGImageAlphaInfo.premultipliedLast.rawValue)

guard let image = bitmapContext?.makeImage() else { return nil }
return UIImage(cgImage: image)

我尝试使用此代码,但是没有用

CGBitmapInfo(rawValue: CGBitmapInfo.byteOrder32Big.rawValue | CGImageAlphaInfo.premultipliedLast.rawValue).rawValue)

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...