写真ライブラリから写真を切り取った後、アプリケーションから表示できないという奇妙な問題があります。このコードを実行すると、このエラーが表示されます。奇妙なCoreImageクロッピングの問題が発生しました
self.correctedImageView.image = UIImage(ciImage: correctedImage)
[api] -[CIContext(CIRenderDestination) _startTaskToRender:toDestination:forPrepareRender:error:] The image extent and destination extent do not intersect.
ここでは、切り抜いて表示するためのコードです。 (inputImageとはCIImageある)
let imageSize = inputImage.extent.size let correctedImage = inputImage .cropped(to: textObvBox.boundingBox.scaled(to: imageSize)) DispatchQueue.main.async { self.correctedImageView.image = UIImage(ciImage: correctedImage) }
詳細:デバッグ
Printing description of self.inputImage: CIImage: 0x1c42047a0 extent [0 0 3024 4032]>
crop [430 3955 31 32] extent=[430 3955 31 32] affine [0 -1 1 0 0 4032] extent=[0 0 3024 4032] opaque affine [1 0 0 -1 0 3024] extent=[0 0 4032 3024] opaque colormatch "sRGB IEC61966-2.1"_to_workingspace extent=[0 0 4032 3024] opaque IOSurface 0x1c4204790(501) seed:1 YCC420f 601 alpha_one extent=[0 0 4032 3024] opaque
inputImageとの範囲を印刷し、correctedImageおかしい事は、私はXcodeのを使用して、ブレークポイントを置くとき、私はプレビューすることができたということです正しく切り取った画像。私はこの程度のものがCIImageのものなのかどうかはわかりませんが、UIMageViewは切り取った画像を割り当てたときにUIMageViewが好きではありません。この程度のことは何を考えているのですか?
CoreImageは無限の平面上で動作します。範囲は、あなたが気にする画像データを実際に含んでいるその平面内の長方形です。 –
エクステントを変更するにはどうすればよいですか? – mskw
私はそれをuiimageviewに適用すると、私には受け入れられません。 – mskw