拍摄照片导致图像失真
问题描述:
我正在使用Android SDK示例从相机获取图像。下面的代码是我添加到代码中的唯一逻辑。本质上,我正在将图片转换为位图并显示它。不幸的是这会导致真正的手机作为一个扭曲的图像(在模拟器上它只是罚款)拍摄照片导致图像失真
任何帮助将不胜感激
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch(keyCode){
case KeyEvent.KEYCODE_CAMERA:
mCamera.takePicture(null, null,new PictureCallback(){
@Override
public void onPictureTaken(byte[] data, Camera camera) {
showPicture(data);
}
});
break;
}
return super.onKeyDown(keyCode, event);
}
void showPicture(byte[] data) {
if (data != null) {
Bitmap picture = BitmapFactory
.decodeByteArray(data, 0, data.length);
ImageView view = new ImageView(this);
view.setImageBitmap(picture);
this.setContentView(view);
}
}
答
在surfaceChanged发现问题方法这些行是责怪
List sizes = parameters.getSupportedPreviewSizes(); if (sizes != null) { Size optimalSize = getOptimalPreviewSize(sizes, width, height); parameters.setPreviewSize(optimalSize.width, optimalSize.height); } else { parameters.setPreviewSize(width, height); }
删除它们解决了所有问题。现在,我必须确保这不会造成新的问题
BTW
这发生在G2