Я создаю UIImage из текущей нарисованной текстуры следующим образом.
func createImageFromCurrentDrawable() ->(UIImage){
let context = CIContext()
let texture = metalView.currentDrawable!.texture
let kciOptions = [kCIContextWorkingColorSpace: CGColorSpace(name: CGColorSpace.sRGB)!,
kCIContextOutputPremultiplied: true,
kCIContextUseSoftwareRenderer: false] as [String : Any]
let cImg = CIImage(mtlTexture: texture, options: kciOptions)!
let cgImg = context.createCGImage(cImg, from: cImg.extent)!
let uiImg = UIImage(cgImage: cgImg)
return uiImg
}
но это добавляет альфа-значение к UIImage, который не отображается в текстуре. Есть ли какое-либо решение, чтобы избавиться от альфы?
здесь захваченное изображение текстуры.
uiImage, созданное из текстуры.