मैं मूल छवि का उपयोग कर रहा हूं और मैं अपनी छवि में एक सीआईफ़िल्टर सेपिया टोन लगा रहा हूं। मैं दृश्य में एक बार फ़िल्टर चलाता हूं और फिर तुरंत एक और फ़ंक्शन कॉल करता हूं जो फ़िल्टर को फिर से जोड़ता है। किसी कारण से, जब मैं आउटपुट छवि तक पहुंचने का प्रयास करता हूं, तो ऐप क्रैश हो जाता है और कहता है कि आउटपुट छवि शून्य है। क्या कोई जानता है कि यह क्यों हो रहा है?सीआईफ़िल्टर आउटपुट छवि शून्य
धन्यवाद
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.
}
}
पर कोड पोस्ट किया गया है और मेरी पुस्तक को CIImage से _real_ छवि निकालने के तरीके पर देखें: http://www.apeth.com /iOSBook/ch15.html#_cifilter_and_ciimage – matt
और स्विफ्ट कोड के लिए: https://github.com/mattneub/Programming-iOS-Book-Examples/blob/master/bk2ch02p070filters/ch15p419filters/ViewController.swift – matt
मुझे लगता है कि समाधान उल्लिखित है http://stackoverflow.com/users/1955870/fz द्वारा काम करता है ('CIContext' का उपयोग करके)। क्या कोई जोखिम है? – SwiftArchitect