Mar*_*phy 1 android jpeg bitmap
调用TakePicture后,下面的代码作为jpeg图片回调执行.如果我将数据保存到磁盘,它是一个1280x960 jpeg.我试图改变图片大小,但这是不可能的,因为不支持更小的尺寸.JPEG是唯一可用的图片格式.
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);
Run Code Online (Sandbox Code Playgroud)
data.Leng是预期的500k.执行BitmapFactory.decodeByteArray()后,bm的高度和宽度为-1,因此操作失败.
谢谢!
在您的surfaceCreated上,您设置了camara的图片大小代码,如下面的代码所示:
public void surfaceCreated(SurfaceHolder holder) {
camera = Camera.open();
try {
camera.setPreviewDisplay(holder);
Camera.Parameters p = camera.getParameters();
p.set("jpeg-quality", 70);
p.setPictureFormat(PixelFormat.JPEG);
p.setPictureSize(640, 480);
camera.setParameters(p);
} catch (IOException e) {
e.printStackTrace();
}
}
| 归档时间: |
|
| 查看次数: |
3869 次 |
| 最近记录: |