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

标签 android camera android-camera surfaceview

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

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

最佳答案

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

在扩展 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);
    }

}

关于android - 在 android 4.0 驱动的设备(如 Galaxy s3)上使用 surfaceview 使用自定义相机拍摄的图像显示分辨率较低,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13195492/

相关文章:

javascript - IOS 的 Api phonegap 3.3.0 相机无法正常工作

Android:BroadcastReceiver Intent 检测拍摄的相机照片?

android - 如何在全景/全景模式下直接打开相机?

android - Android Chrome 是否支持 <audio/> 标签?

android - 如何从内容 uri 在 exoplayer 上播放视频?

java - 如何创建具有特定大小但仍具有硬件控制按钮的 ADT 虚拟机?

android - 从相机捕获后如何旋转图像

iphone - 通过SDK覆盖iPhone快门声音

安卓相机不对焦。当我尝试设置参数时崩溃

java - Android FireBase 存储下载 - 如何检测网络中断?