0

我正在为 android 开发自定义相机应用程序。问题是相机在其他设备(例如三星 Galaxy S3)中捕捉和显示预览效果很好,但在 Galaxy 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;
    }
4

1 回答 1

1

我遇到了同样的问题,如果您的意思是照片是以 4:3 的纵横比拍摄并以 16:9 的纵横比保存的(它们被拉伸了)。我的问题是,因为我选择了一种受支持的PictureSizes,所以我没有对PreviewSizes做同样的事情。三星 G S4支持的PictureSize仅具有 16:9 的纵横比,但默认PreviewSize设置为 1440x1080,即 4:3。当我将两种尺寸设置为相同的纵横比时,拍摄的照片没有失真。

希望它会有所帮助。

于 2013-06-21T12:51:38.120 回答