如何在图像视图中将滤镜应用于图像

时间:2018-01-20 20:07:38

标签: ios xcode swift2

我想创建一个图像过滤应用程序,它将随机过滤器应用于图像视图中的图像。我跟随2014年的Apple tutorial。根据Xcode错误和警告,现在我在ViewController.swift中有以下代码。

404 not found

enter image description here 成功构建了最后一个注释语句之前的代码。我不得不评论该声明,因为它给出了错误import UIKit class ViewController: UIViewController { @IBOutlet weak var photoImageView: UIImageView! // Create a place to render the filtered image let context = CIContext(options: nil) @IBAction func applyFilter(_ sender: Any) { // Create an image to filter let inputImage = CIImage(image: photoImageView.image!) // Create a random color to pass to a filter let randomColor = [kCIInputAngleKey: (Double(arc4random_uniform(314)) / 100)] // Apply a filter to the image let filteredImage = inputImage?.applyingFilter("CIHueAdjust", parameters: randomColor) // Render the filtered image let renderedImage = context.createCGImage(filteredImage!, from: filteredImage!.extent) // Reflect the change back in the interface //photoImageView.image = UIImage(CGImage: renderedImage!) } override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } } 。该代码目前无效。它只显示一个图像视图和它下面的一个条形按钮(单击该按钮不会执行任何操作)。请注意,我的代码与教程略有不同,因为教程代码似乎已被弃用。有什么想法为什么代码不起作用?

以下是原始教程中的code

Ambiguous use of init(CGImage)

2 个答案:

答案 0 :(得分:1)

您的代码不应构建。

修复核心图像过滤器名称后,请尝试替换:

photoImageView.image = UIImage(CGImage: renderedImage!)

使用:

photoImageView.image = UIImage(cgImage: renderedImage!)
//                             ^
//                             |
//                  attention to capitalization

答案 1 :(得分:0)

核心图像过滤器名称中有拼写错误。还尝试在设备中运行您的代码。