在Android 4.0驱动的设备(如Galaxy s3)上使用surfaceview使用自定义相机拍摄的图像显示较低的分辨率

时间:2012-11-02 12:43:33

标签: android camera android-camera surfaceview

我正在开发一个应用程序,因为我使用Surfaceview和Camera api来拍照。我的问题是使用Galaxy S3拍摄的图像的分辨率仅显示为640x480。但在其他设备中,它显示了相机的分辨率。因此,当我显示图像时,它会变得模糊,仅在S3中,在其他设备中它会完美显示。

我不知道这背后的问题是什么。其他设备在2.3上运行,s3在4.0上运行。请帮我。

1 个答案:

答案 0 :(得分:1)

不同的设备有不同的分辨率。

在扩展Surfaceview的类中设置相机时,您可以找到支持的图片尺寸:

public void setCamera(Camera camera) {
    this.mCamera = camera;
    if (mCamera != null) {
        List<Camera.Size> mSupportedPictureSizes = Camera.getParameters().getSupportedPictureSizes();
        //Iterate over list and find the size you want.
        Camera.Parameters parameters = mCamera.getParameters();
        parameters.setPictureSize(chosenPictureSize.width, chosenPictureSize.height);
        mCamera.setParameters(parameters);
    }

}