ios - CIFilter 应用于图像不起作用 - swift

标签 ios swift core-image cifilter

我正在尝试将 CIFilter 应用于已显示在单 View 应用程序中的 imageView 中的图像,但它似乎没有应用该过滤器。请问有人可以建议吗?我的输入图像看起来完全一样。

环球银行金融电信协会:

let filter = CIFilter.init(name: "CIHueAdjust")
let context = CIContext()
var extent: CGRect!
var scaleFactor: CGFloat!

@IBOutlet weak var img: UIImageView!

override func viewDidLoad() {
    super.viewDidLoad()

    let ciImage = CIImage.init(image: img.image!)

    filter?.setDefaults()
    filter?.setValue(ciImage, forKeyPath: kCIInputImageKey)
    let result = filter?.outputImage
    print("result: \(result)")

    var image = UIImage.init(cgImage: context.createCGImage(result!, from: result!.extent)!)
    img.image = image


    img.image = image
}

控制台:

 result: Optional(<CIImage: 0x1c001a7a0 extent [0 0 2016 1512]>
 affine [1 0 0 -1 0 1512] extent=[0 0 2016 1512] opaque
colormatch "sRGB IEC61966-2.1"_to_workingspace extent=[0 0 2016 1512] opaque
  IOSurface 0x1c401a780(169) seed:1 YCC420f 601 alpha_one extent=[0 0 2016 1512] opaque

最佳答案

它在评论中,但这里是关于如何使用 Swift 4 设置对 CIHueAdjust 的调用的完整(且格式更好)答案:

let filter = CIFilter(name: "CIHueAdjust")
let context = CIContext()
var extent: CGRect!
var scaleFactor: CGFloat!

@IBOutlet weak var img: UIImageView!

override func viewDidLoad() {
    super.viewDidLoad()

    let ciImage = CIImage(image: img.image!)

    // Note: you may use kCIInputImageKey for inputImage
    filter?.setValue(ciImage, forKey: "inputImage")
    filter?.setValue(Float(1), forKey: "inputAngle")
    let result = filter?.outputImage

    var image = UIImage(cgImage: context.createCGImage(result!, from: result!.extent)!)
    img.image = image

}

关于ios - CIFilter 应用于图像不起作用 - swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50448800/

相关文章:

ios - 如何在 iOS 中创建 365 天的本地通知

ios - 如何从 MIDISourceCreate() 中保留虚拟 MIDI 源的唯一性?

ios - 突然 UIUserNotificationActionResponseTypedTextKey 不可用

ios - 如何给WKWebView添加手势

ios - 使用 Metal 有效计算 UIImage/CIImage 中有多少透明像素

iphone - 使用 Core Image 过滤器时增加 CFData 内存使用量

iphone - 我怎样才能拥有包含两个以上 'if' 语句的 IBAction?

ios - 如何使 Http 请求在 TableView 单元格之前按时加载

ios - ios-UIBezierPath行程,以百分比表示逆时针旋转,弧线从垂直向下位置开始

ios - 创建宽度倍数为 90 的 CVPixelBuffer 时,每行字节数错误