ビットマップをインスタンス化せずに Jpeg 画像からピクセル情報を取得し、それを JNI に渡す必要があります。
Android では、カメラから jpeg 画像以外のものを取得することは不可能です (ただし、低解像度が必要な場合は を使用できますPreviewCallback
)。そのため、jpegCallback から byte[] を取得しました。
int[]
を使用せずにピクセル情報を取得することは可能Bitmap.getPixels()
ですか?
ビットマップをインスタンス化せずに Jpeg 画像からピクセル情報を取得し、それを JNI に渡す必要があります。
Android では、カメラから jpeg 画像以外のものを取得することは不可能です (ただし、低解像度が必要な場合は を使用できますPreviewCallback
)。そのため、jpegCallback から byte[] を取得しました。
int[]
を使用せずにピクセル情報を取得することは可能Bitmap.getPixels()
ですか?
ビットマップを構築したくない場合、唯一のオプションは JPEG バッファを自分でデコードすることです。これは、別の Java JPEG 解凍ライブラリを見つけるか、JNI とlibjpegなどの C JPEG ライブラリを使用することを意味します。または、最初から作成することもできますが、画像圧縮ルーチンにかなり精通しており、実装とデバッグに十分な時間がある場合を除き、お勧めしません。
Scott が尋ねたように、Bitmap の使用が受け入れられないのはなぜですか? どのルートをたどっても、画像データを圧縮解除するために何かを呼び出す必要があります。BitmapFactory.decodeByteArrayを使用することは、簡単で動作することが知られているオプションです。
これが標準の Android API でどのように可能になるかわかりません。あなたが使用できるサードパーティのJPEGライブラリがあると確信しています(グーグルは可能性を見つけます)。なぜビットマップを避けようとしているのですか? メモリの制約がある場合は、BitmapRegionDecoderを使用して小さな水平チャンクをデコードすることをお勧めします