我想创建一个图像过滤应用程序,它将随机过滤器应用于图像视图中的图像。我跟随2014年的Apple tutorial。根据Xcode错误和警告,现在我在ViewController.swift中有以下代码。
404 not found
成功构建了最后一个注释语句之前的代码。我不得不评论该声明,因为它给出了错误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)
答案 0 :(得分:1)
您的代码不应构建。
修复核心图像过滤器名称后,请尝试替换:
photoImageView.image = UIImage(CGImage: renderedImage!)
使用:
photoImageView.image = UIImage(cgImage: renderedImage!)
// ^
// |
// attention to capitalization
答案 1 :(得分:0)
核心图像过滤器名称中有拼写错误。还尝试在设备中运行您的代码。