我正在为Android定制相机应用程序。问题是相机捕获并在其他设备(例如三星Galaxy S3)中显示预览效果,但它显示失真 银河s4上的图像,任何人都可以帮助我?
我对Picturesize()方法的代码如下:
Camera.Size getBestPicturSize(int width, int height, Camera.Parameters parameters) {
Camera.Size result=null;
float dr = Float.MAX_VALUE;
float ratio = (float)width/(float)height;
for (Camera.Size size : parameters.getSupportedPreviewSizes()) {
float r = (float)size.width/(float)size.height;
if( Math.abs(r - ratio) < dr && size.width <= width && size.height <= height ) {
dr = Math.abs(r - ratio);
result = size;
}
}
return result;
}
答案 0 :(得分:1)
我有同样的问题,如果你的意思是照片是以4:3的宽高比拍摄的,并以16:9的宽高比保存(它们是伸展的)。我的问题是,由于我选择了一个受支持的 PictureSizes ,我对 PreviewSizes 没有做同样的事情。 三星G S4支持的 PictureSizes 仅采用宽高比16:9,但默认 PreviewSize 设置为1440x1080,即4:3。当我使用相同宽高比设置两个尺寸时,拍摄的照片没有失真。
希望它会有所帮助。