gpt4 book ai didi

ios - 在 Core Image 中设置过滤器值会导致崩溃。 - swift

转载 作者:搜寻专家 更新时间:2023-11-01 07:33:40 24 4
gpt4 key购买 nike

我想做的是截取屏幕截图,裁剪该屏幕截图,然后通过应用 CISharpenLuminance 滤镜使其看起来更好。在我添加过滤器之前,代码一切正常。当我按下执行所有这些操作的按钮时,我收到此错误:“以 NSException 类型的未捕获异常终止”,并在 AppDelegate 的第一行出现崩溃错误,消息为:“线程 1:信号 SIGABRT”

这是我的代码:

        //Getting the Image
UIGraphicsBeginImageContext(view.frame.size)
view.layer.renderInContext(UIGraphicsGetCurrentContext())
image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()

//Cropping the Image
let rect = CGRectMake(0, 97, 320, 213)
let cgiImage = image?.CGImage
let imageBitMap: CGImageRef = CGImageCreateWithImageInRect(cgiImage, rect)



//Sharpening the Image
let ciiCroppedImage = CIImage(CGImage: imageBitMap)

let filter = CIFilter(name: "CISharpenLuminance")
filter.setValue(ciiCroppedImage, forKey: kCIInputImageKey)
filter.setValue(0.8, forKey: kCIInputIntensityKey)

let context = CIContext(options: nil)
let cgimg = context.createCGImage(filter.outputImage, fromRect: filter.outputImage.extent())

finalImage = UIImage(CIImage: filter.outputImage)

如果我注释掉这一行: filter.setValue(0.8, forKey: kCIInputIntensityKey)该应用程序不会崩溃,但当然会破坏这一点。我很确定那条线是问题所在,但我可能是错的。 image 和 finalImage 在按钮外声明为空变量。这是我第一次使用 Core Image,所以我不知道自己在做什么,所以这很可能是一个简单的错误。提前致谢!

最佳答案

您不应使用 kCIInputIntensityKey 参数,而应使用 @"inputSharpness" or kCIInputSharpnessKey

enter image description here

所以你的代码应该是

filter.setValue(0.8, forKey: @"inputSharpness")

filter.setValue(0.8, forKey:kCIInputSharpnessKey)

关于ios - 在 Core Image 中设置过滤器值会导致崩溃。 - swift ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31169265/

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