当前位置: 首页 > 面试题库 >

CIFilter输出图像无

谷博艺
2023-03-14
问题内容

我正在使用核心图像,并且将CIFilter棕褐色调应用于图像。我在viewDidLoad中运行了一次过滤器,然后立即调用另一个再次添加过滤器的函数。由于某些原因,当我尝试访问输出图像时,应用程序崩溃并说输出图像为nil。有人知道为什么会这样吗?

谢谢

    import UIKit

class ViewController: UIViewController {
    @IBOutlet weak var myimage: UIImageView!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        let image = CIImage(image: myimage.image)
        let filter = CIFilter(name: "CISepiaTone")
        filter.setDefaults()
        filter.setValue(image, forKey: kCIInputImageKey)
        myimage.image = UIImage(CIImage: filter.outputImage)
        self.reapplyFilter()
    }

        func reapplyFilter(){
            let image = CIImage(image: myimage.image)
            let filter = CIFilter(name: "CISepiaTone")
            filter.setDefaults()
            filter.setVa    lue(image, forKey: kCIInputImageKey)
    //ERROR HERE: fatal error: unexpectedly found nil while unwrapping an Optional value
            myimage.image = UIImage(CIImage: filter.outputImage)
//ERROR
        }

        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
            // Dispose of any resources that can be recreated.
        }



}

问题答案:

您不能调用UIImage(CIImage:)该UIImage并将其用作UIImageView的图像。UIImageView需要一个由位图(CGImage)支持的UIImage。用CIImage实例化的UIImage没有位图;它没有实际图像,只是一组应用滤镜的说明。这就是为什么UIImageView的图像为nil的原因。



 类似资料:
  • 问题内容: 我已经遇到这个问题已有一段时间了,在这里看了几十个答案,似乎找不到任何有用的答案。 我正在应用的iOS端生成QR码,并希望将此QR码发送到我当前正在开发的WatchKit扩展程序中。 我如何生成QR码 我接下来要 我想从QR图像中获取数据,以便可以将其发送到Apple Watch应用程序,如下所示: 但是, 这总是会返回,因为没有图像数据支持过滤器的输出。 注意: 我知道没有与CI图像

  • 问题内容: 我有一张图片(例如) 有一个哑剧类型 如何将其输出到浏览器? 问题答案:

  • 我想让我的PHP输出一个简单的图像,但当我这样做的时候,它给我一个白色的正方形,所以我以为IMG是找不到的,但当我放一个简单的HTML IMG标签,它就可以找到,代码非常简单。同样,如果我尝试从互联网上的图像,它也不会起作用。

  • 我正在用facenet pytorch做一个人脸识别应用(https://github.com/timesler/facenet-pytorch)在python中使用两种方法。 第一种方法代码- 在这个代码中,我从给定的图像中提取人脸,并获得用于识别人脸的512编码。 在本例中,我使用了两个不同的面,并绘制了面之间的距离 它工作得很好... 第二种方法代码- 在这段代码中,我通常先获得面坐标,然后

  • 问题内容: 如何在servlet中提供存储在我的硬盘中的图像? 例如: 我有一个图像存储在path中,并且我想使用URL在servlet中提供该图像。 问题答案: 将servlet映射到url-pattern 从磁盘读取文件 写到 将标头设置为(如果只是png)

  • 问题内容: 我正在尝试保存使用matplotlib创建的图;但是,图像保存为空白。 这是我的代码: tessstttyyy.png为空白(也尝试使用.jpg) 问题答案: 首先,什么时候发生?我会测试一下,然后再调整传递给的值;可以尝试输入值131、132和133,或者取决于是否存在的值。 其次,在调用之后,创建一个新图形。为了解决这个问题,您可以 致电之前致电 通过调用“获取当前图形”来保存图形