我有以下 UIImage:
使用 Objective-C,我希望能够将白色反转为黑色,反之亦然。
如有任何帮助,我们将不胜感激。
最佳答案
swift
使用 CIContext
而不是 -UIImage:CIImage
(参见 https://stackoverflow.com/a/28386697/218152 ),并基于 @wtznc's response 构建,这是一个独立的 IBDesignable:
@IBDesignable
class InvertImage: UIImageView {
@IBInspectable var originalImage:UIImage? = nil
@IBInspectable var invert:Bool = false {
didSet {
var inverted = false
if let originalImage = self.originalImage {
if(invert) {
let image = CIImage(CGImage: originalImage.CGImage!)
if let filter = CIFilter(name: "CIColorInvert") {
filter.setDefaults()
filter.setValue(image, forKey: kCIInputImageKey)
let context = CIContext(options: nil)
let imageRef = context.createCGImage(filter.outputImage!, fromRect: image.extent)
self.image = UIImage(CGImage: imageRef)
inverted = true
}
}
}
if(!inverted) {
self.image = self.originalImage
}
}
}
}
要使用它,请设置原始图像而不是图像,因为图像将动态关联:
关于ios - 将白色转换为黑色 uiimage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28387689/