从MTLTexture创建图像时添加Alpha值

时间:2018-07-05 04:25:41

标签: metal metalkit

我正在从当前可绘制纹理创建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添加了alpha值。是否有任何解决方法可以消除alpha? 这是捕获的纹理图像。

texture image

从纹理创建的uiImage。

uiImage

0 个答案:

没有答案