在Android Camera参数中,PictureSize(),PreviewSize和显示大小之间的关系是什么?

时间:2014-11-12 10:59:50

标签: android image-processing camera android-camera

考虑我想要一张尺寸为400*400的照片,我的相机支持照片尺寸为320*240640*4801024*768等等。

我的第一个问题:

这使我在以下两个选项中获得更高质量的图像

  • setPictureSize为640*480。拍摄照片后,将其裁剪为480*480,然后将其缩放为400*400
  • setPictureSize为1024*768。拍摄照片后,将其裁剪为768*768,然后将其缩放为400*400

我的第二个问题:

我在许多Android设备和所有设备中测试了getSupportedPreviewSize的输出,它将显示分辨率作为有效支持的预览大小之一。这适用于所有Android设备吗?

我的第3个问题

Preview Size会影响图像的质量吗?

我的第四个问题

考虑我使用FrameLayout预览相机,preview sizeFrameLyout尺寸之间的关系是什么。我应该根据FrameLyout

的大小更改Preview的维度

提前致谢。很抱歉提出冗长的问题。

2 个答案:

答案 0 :(得分:2)

为什么不能将它裁剪为400x400?没有办法分辨哪个缩小比例会变得更糟,并且有很多因素适用。通常,缩放越少越好。

getsupportedpreviewsizes将在API为5或更高的任何Android设备中返回至少一个分辨率:http://developer.android.com/reference/android/hardware/Camera.Parameters.html#getSupportedPreviewSizes() 注意:并不总是支持设备的最大分辨率,但几乎总是支持640X480。

图片尺寸是图片尺寸,而预览尺寸用于根据当前设备方向更改图片。如果没有正确处理,这可以更多地缩放图像。简而言之,它可以影响质量,但不影响实际文件的质量:http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPictureSize(int,int)

您的框架布局可以填充您拥有的任何区域,并且将被拉伸以填充该区域。它不应影响实际拍摄照片的质量。

答案 1 :(得分:-1)

1 640x480图像“裁剪”到400x400的质量将优于480x480,缩小到400x400。缺点是你放松了一些观点。但无论如何,当你将一张4:3的长方形图片变成正方形时,你会松开,所以你可能只能承受更少的视野。如果您确实需要完整的视野,那么请选择最大分辨率并使用图像处理库(例如OpenCV)来缩小图片。

2 答案是肯定的否定。以Nexus 10为例。屏幕为2560 x 1600像素,背面最高预览尺寸为1920x1080,前置摄像头为1280x1024。