大きすぎてメモリにロードできない大きな画像がありますが、その大きな画像内のピクセルのサブセットにのみ関心があります。このピクセルのサブセットのみをメモリにデコードすることは可能ですか? Androidには、まさにこれを行うためのクラスがAPIにあり、BitmapRegionDecoderと呼ばれるものがそのようなものであることを知っています
CGDataProviderCreateSequential を見つけましたが、コンストラクターで生のピクセルが必要です...
今、私はこのようなことをしています:
UIImage* srcImage = ...;
CFDataRef cgImgDataRef = CGDataProviderCopyData(CGImageGetDataProvider(srcImage.CGImage));//After this call, all pixels are decoded into memory and the app crashes
char* imageData = (char*)CFDataGetBytePtr(cgImgDataRef);