前提・実現したいこと
UIImageからimageを取得して、フィルターを掛けて再度UIImageに戻すのは無事に成功するのですが、同じUIImageから画像を取得して、もう一度処理を行おうとするとCIImageへ変換する際にnilになります。
続けて同じ処理をやるのでなく、一旦UIImageへ画像ファイルを読み込む処理を入れると、nilになりません↓。
self.image.image = UIImage(named: "IMG_3706.jpeg") // この処理を入れる
UIImageからimageを取り出した時点はnilではありません。
ソースの「print("ciImageA:(ciImageA)")」では内容らしきものが出力されます。
CIImageにする際にnilになってると思いますが、何故だかわかりません。
ソースの「print("image:(imageA)")」ではnilです。
その後「self.image.image = UIImage(ciImage: filter.outputImage!)」でエラーが発生します。
御教授頂きたく思います。
発生している問題・エラーメッセージ
Unexpectedly found nil while unwrapping an Optional value
該当のソースコード
swift
1 2 // 二値化 3 func setMonoColor(){ 4 5 let imageA = self.image.image! 6 7 print("image:(imageA)") // ここはnilでは無い 8 9 10 let ciImageA = CIImage(image: imageA) 11 12 print("ciImageA:(ciImageA)") // ここでnilになる 13 14 let filter = CIFilter(name: "CIPhotoEffectMono")! 15 16 filter.setDefaults() 17 filter.setValue(ciImageA, forKey: kCIInputImageKey) 18 19 self.image.image = UIImage(ciImage: filter.outputImage!) 20 21 self.image.setNeedsDisplay() 22 23 }
回答1件
あなたの回答
tips
プレビュー