gpt4 book ai didi

ios - imageView图像返回null

转载 作者:行者123 更新时间:2023-11-30 14:06:34 25 4
gpt4 key购买 nike

我正在使用 swift 2,在按照教程使用选择器选择图像,然后在按下按钮时应用过滤器时遇到了一个奇怪的问题。

我的流程是这样的:

  1. 单击按钮使用imagePickerControl选择图像在 ImageView 的图像中显示它
  2. 点击按钮处理过滤器在该图像上

这是图像选择器的代码:

func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) {
if let pickedImage = image as? UIImage {
imageView.contentMode = .ScaleAspectFit
imageView.image = pickedImage
}
dismissViewControllerAnimated(true, completion: nil)
}

这部分进行处理/过滤:

func setProcessFilter() {
var originalImage = CIImage(image: imageView.image!)
if originalImage !== nil {
var filter = CIFilter(name: "CIPhotoEffectProcess")
filter?.setDefaults()
filter?.setValue(originalImage, forKey: kCIInputImageKey)
var imageOutput = filter!.outputImage
var newImage = UIImage(CIImage: imageOutput!)
imageView.image = newImage
} else {
print("problem!")
}
}

有趣的是,第一次单击按钮时,此方法有效,但第二次原始图像变为空。我不确定为什么会发生这种情况?

Here is my full code .

最佳答案

对于在学习教程时遇到此问题的任何人,只需创建一个 var:

var filterImage : CIImage!

一旦图像选择器选择了图像,将其推送到那里:

    func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) {
if let pickedImage = image as? UIImage {
imageView.contentMode = .ScaleAspectFit
filterImage = CIImage(image: pickedImage)
imageView.image = pickedImage
}
dismissViewControllerAnimated(true, completion: nil)
}

关于ios - imageView图像返回null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32319917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com