簡體   English   中英

如何在iOS上創建單色UIImage

[英]How to create monochromatic UIImage on iOS

我有一個來自服務器的UIImage ,我需要將UIImage呈現為具有給定單色的單色圖像,該單色也可以是任意顏色。 最好的方法是什么?

在我當前的方法中,我正在使用以下方法,該方法針對給定的圖像和顏色返回單色圖像:

fileprivate func monochromaticImage(from image: UIImage, in color: UIColor) -> UIImage {
    guard let img = CIImage(image: image) else {
        return image
    }
    let color = CIColor(color: color)
    guard let outputImage = CIFilter(name: "CIColorMonochrome",
                               withInputParameters: ["inputImage" : img,
                                                     "inputColor" : color])?.outputImage  else {
        return image
    }
    let context = CIContext()
    if let cgImage = context.createCGImage(outputImage, from: outputImage.extent) {
        let newImage = UIImage(cgImage: cgImage, scale: image.scale, orientation: image.imageOrientation)
        return newImage
    }
    return image
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM