感谢您查看我的帖子。
所以在网上image!.drawInRect(rect!)
,我得到 EXC_BAD_ACCESS Code 1 错误,我一辈子都想不通。我在运行方案中启用了 Zombies,但没有打印出来(也许我也做错了?),我的 println() 似乎是我所有的变量,没有什么是零。
我想指出,这段代码工作了两次,然后第三次调用失败,大部分时间。在我的应用程序中,你拍照,然后它需要你编辑图片(当这个函数被调用时)。当我回到相机拍照并返回编辑(第三次)时,出现此错误。
此外,此方法在viewDidAppear()
任何帮助表示赞赏。我要拔头发了!
var rect: CGRect?
var image: UIImage?
func convertCIImageToUIImage(cIImage: CIImage) -> UIImage {
println(cIImage)
let size: CGSize = filteredImageView.inputImage.size
println(filteredImageView.inputImage.size)
UIGraphicsBeginImageContext(size)
rect = CGRect(origin: CGPointZero, size: size)
image = UIImage(CIImage: filteredImageView.filter.outputImage)
println(UIGraphicsGetCurrentContext())
println("size: \(size)")
printAllObjects()
println()
image!.drawInRect(rect!)
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
image = nil
rect = nil
let finalImage = UIImage(CGImage: newImage.CGImage!, scale: 1.0, orientation: UIImageOrientation.Right)
return finalImage!
}