您的位置:首页 > 移动开发 > Android开发

Android Camera 预览图像被拉伸变形的解决方法

2015-05-07 20:21 489 查看
问题描述:

预览图像被拉伸变形

问题原因:

由于预览图像大小跟SurfaceView 大小不一致引起

解决方法:

获取系统支持的所有预览尺寸[getSupportedPictureSizes],然后再取一个比较接近的尺寸进行设置[setPreviewSize]

选择最佳尺寸方法:

private Point getBestCameraResolution(Camera.Parameters parameters, Point screenResolution){
float tmp = 0f;
float mindiff = 100f;
float x_d_y = (float)screenResolution.x / (float)screenResolution.y;
Size best = null;
List<Size> supportedPreviewSizes = parameters.getSupportedPreviewSizes();
for(Size s : supportedPreviewSizes){
tmp = Math.abs(((float)s.height/(float)s.width)-x_d_y);
if(tmp<mindiff){
mindiff = tmp;
best = s;
}
}
return new Point(best.width, best.height);
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: