Добавьте альфа-значение при создании изображения из MTLTexture - PullRequest
0 голосов
/ 05 июля 2018

Я создаю 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, который не отображается в текстуре. Есть ли какое-либо решение, чтобы избавиться от альфы? здесь захваченное изображение текстуры.

texture image

uiImage, созданное из текстуры.

uiImage

...