Android相机的预览大小和图片大小有什么区别

arj*_*jun 3 camera android android-camera

在使用相机的应用程序中,我需要显示相机的预览,我可以通过获取所有支持的预览尺寸并找到最佳预览尺寸来设置预览尺寸.我还应该为相机设置最佳图片尺寸吗?如果是这样,预览大小和图片大小有什么区别?

目前我使用以下内容来查找最佳预览尺寸

int minDiff = Integer.MAX_VALUE;
for (SizePair sizePair : validPreviewSizes) {
  Size size = sizePair.previewSize();
  int diff =
      Math.abs(size.getWidth() - desiredWidth) + Math.abs(size.getHeight() - desiredHeight);
  if (diff < minDiff) {
    selectedPair = sizePair;
    minDiff = diff;
  }
}
Run Code Online (Sandbox Code Playgroud)

使用此方法会在某些手机中提供错误的预览尺寸.有人可以建议一个更好的逻辑来获得最佳的preivew大小?

Lal*_*dav 8

图片尺寸这是您告诉相机拍照时产生的图像尺寸.如果它与原始分辨率具有相同的宽高比,那么它将直接从该缩放比例缩放.如果纵横比不同,则将从原始尺寸裁剪.根据我的经验,getSupportedPictureSizes返回的最大尺寸是相机的原始分辨率.

预览大小这是屏幕上显示的图像预览的大小.它可以是与原始大小或图片大小不同的纵横比,从而导致进一步裁剪

若要在屏幕上看到的内容与拍摄照片时生成的图像之间达到最接近的匹配,请尝试选择宽高比尽可能接近您所选图片尺寸的宽高比的预览尺寸.我通常会尝试尽可能接近原生大小.

另请查看此链接