1

ビットマップをインスタンス化せずに Jpeg 画像からピクセル情報を取得し、それを JNI に渡す必要があります。

Android では、カメラから jpeg 画像以外のものを取得することは不可能です (ただし、低解像度が必要な場合は を使用できますPreviewCallback)。そのため、jpegCallback から byte[] を取得しました。

int[]を使用せずにピクセル情報を取得することは可能Bitmap.getPixels()ですか?

4

2 に答える 2

1

ビットマップを構築したくない場合、唯一のオプションは JPEG バッファを自分でデコードすることです。これは、別の Java JPEG 解凍ライブラリを見つけるか、JNI とlibjpegなどの C JPEG ライブラリを使用することを意味します。または、最初から作成することもできますが、画像圧縮ルーチンにかなり精通しており、実装とデバッグに十分な時間がある場合を除き、お勧めしません。

Scott が尋ねたように、Bitmap の使用が受け入れられないのはなぜですか? どのルートをたどっても、画像データを圧縮解除するために何かを呼び出す必要があります。BitmapFactory.decodeByteArrayを使用することは、簡単で動作することが知られているオプションです。

于 2013-01-30T21:35:57.743 に答える
0

これが標準の Android API でどのように可能になるかわかりません。あなたが使用できるサードパーティのJPEGライブラリがあると確信しています(グーグルは可能性を見つけます)。なぜビットマップを避けようとしているのですか? メモリの制約がある場合は、BitmapRegionDecoderを使用して小さな水平チャンクをデコードすることをお勧めします

于 2013-01-30T20:23:20.793 に答える