1
以下代码在TakePicture被调用后执行为jpeg图片回调。如果我将数据保存到磁盘,则它是1280x960 jpeg。我试图改变图片尺寸,但这是不可能的,因为不支持更小的尺寸。 JPEG是唯一可用的图片格式。保存为SD之前缩放摄像头图片尺寸的最佳方法
PictureCallback jpegCallback = new PictureCallback() {
public void onPictureTaken(byte[] data, Camera camera) {
FileOutputStream out = null;
Bitmap bm = BitmapFactory.decodeByteArray(data, 0, data.length);
Bitmap sbm = Bitmap.createScaledBitmap(bm, 640, 480, false);
data.Length与预期的一样是500k。在执行BitmapFactory.decodeByteArray()之后,bm的高度和宽度都是-1,所以看起来操作失败。
- 目前还不清楚,如果位图可以处理jpeg数据。我想不会,但我似乎有一些代码示例似乎表明它是。
- 在解码和缩放之前数据是否需要位图格式?
- 如果是这样,该怎么做?
谢谢!