iPadで写真のようなURLを取得しています:
assets-library://asset/asset.JPG?id=00000000-0000-0000-0000-000000000BC4&ext=JPG
画像の内容をバイナリで読み取るにはどうすればよいですか?
たとえば、stringFromFileAtURL でファイルを開くと、パスが見つからないことがわかります。
ありがとう。
iPadで写真のようなURLを取得しています:
assets-library://asset/asset.JPG?id=00000000-0000-0000-0000-000000000BC4&ext=JPG
画像の内容をバイナリで読み取るにはどうすればよいですか?
たとえば、stringFromFileAtURL でファイルを開くと、パスが見つからないことがわかります。
ありがとう。
アプリのサンドボックスの外にあるため、そこから好きなように読み取ることはできません。
これは、あなたが望むほど単純ではありません。まず、実際の画像ファイルを取得する必要があります。これには、ALAsset オブジェクトの取得が含まれます (このプロセスは、この質問で確認できます。次に、そのアセットdefaultRepresentation
を取得し、表現を取得しますfullResolutionImage
。次に、CGImageRef を取得し、データ プロバイダーを介して取得CGImageGetDataProvider
し、ピクセルのコピーを取得できます。データを介しCGDataProviderCopyData
て aCFDataRef
です (にキャストできますNSData *
)。
本当にバイナリが必要ですか? それともUIImageで十分ですか?これであなたの意図がわからない。
アセット ライブラリを使用する必要はありません。UIImage はバイナリ表現です。画像をファイルとして保存するだけの場合は、
[UIImagePNGRepresentation(image) writeToFile:pngPath アトミック:YES];