0

我的 Android 相机将整个图像传递到 onPreviewFrame 中,但我只想要对应于像素范围的字节。例如,通过一个像素为 480x640 的图像。我想要一个新的 byte[] 数组,其像素在 Rect(100,100,200,200) 范围内

public void onPreviewFrame(byte[] arg0, Camera arg1) {
    // arg0 = 460,800 BYTES
    // the camera's resolution is at 640 x 480
    // arg0 format is NV21
}
4

1 回答 1

0

尝试使用 http://developer.android.com/reference/android/graphics/BitmapRegionDecoder.html

以及 BitmapRegionDecoder 类的方法 newInstance(InputStream stream, boolean isShareable) 。接下来可以使用

BitmapRegionDecoder decoder = newInstance(stream,false)
Bitmap region = decoder.decodeRegion(new Rect(x, y, x1, y1), null);
于 2012-08-15T18:47:33.967 回答