Android相机的屏幕尺寸,预览尺寸和图片尺寸之间有什么关系?

时间:2012-09-17 04:06:02

标签: android camera

我认为很多人在这几种尺寸之间感到像我一样困惑 让我宣布一些事情:比率=宽度/高度。

在surfaceView中,我们将previewSize和pictureSize设置为参数 但如何选择最佳尺寸? 如果我想捕获全屏图像,那么previewSize和pictureSize应该设置为什么? 有些情况下预览是全屏的,但保存的图像比预览屏幕图像大,为什么?
另外,如果previewSize和pictureSize的比例不同,有什么问题吗? 并且,是否有必要将previewSize和screenSize的比例设置为相同?
说实话,我只想捕获全屏图像并保存为jpg / png,保存的图像与预览的宽度和高度完全相同,怎么做?
我只是混淆了screenSize,previewSize和pictureSize之间的关系。 感谢。

1 个答案:

答案 0 :(得分:9)

所以让我们从定义开始,正如我所理解的那样。

ScreenSize :物理显示的物理尺寸,这是设备向用户显示内容的最大像素大小。这几乎是一个静态值。

PreviewSize :这通常是光学传感器可以快速原生预览帧的图像大小。传感器通常提供支持的值列表。这些通常都是相同的宽高比。受支持的previewSize可能与 ScreenSize 重叠。如果是这样,你想要显示全尺寸的相机视图,太棒了!无论是哪一个,都是你想要的。否则它可能只是最接近的值,在此之后由你决定。

PictureSize :这是传感器实际捕获的大小。这实际上与其他两个值无关。它通常会与一些previewSize支持的值重叠。但它的范围可以更大,并且通常支持更好的分辨率,因为这毕竟是最终产品。很多时候,在能够显示比 ScreenSize 更好的分辨率的设备上,捕获效果会更好。这些方面可能会有所不同。

在扫描潜在图像时,

ScreenSize PreviewSize 通常与图像呈现最相关。这些通常是非常不专心的快速渲染,无论传感器目前能够看到什么,并将其显示给用户(在某种意义上几乎就像一个视频输入)。在这些情况下,您希望尽可能提供最佳效果,但有时可能无法设置相机以充分利用显示屏。即前置摄像头通常以这样的方式安装,即设置用于捕获肖像类型的图像,并且预览可能不利用屏幕的宽高比。如果你没有对预览框架做任何事情,除了在屏幕上显示它们之外,这纯粹是装饰性的。否则,如果这是一个问题,那么它在那时更具特定应用。例如,前置摄像头可能具有4:3的previewSize,而ScreenSize的比例为16:9。你最终得到的信箱或拉伸解决方案可能适合你正在做的事情。

就开发人员而言,

CaptureSize 通常与 PreviewSize 无关。只有在捕获的文件只会在给定设备上显示且从不操作的情况下,它与 ScreenSize 有轻微关系。即如果你只拍摄这个应用程序的图像,只显示在这个应用程序上。如果捕获尺寸很大,屏幕很小,那就浪费了一点空间。另一方面,如果捕获小于屏幕尺寸并且唯一目的是仅在屏幕上显示图像,如果捕获小于屏幕,则可能必须按比例放大。它通常与内存,文件大小和捕获质量的权衡更相关,以便稍后在其他一些活动或过程中进行操作。

几乎可以归结为此。如果您有足够的带宽,存储和内存来执行所有操作,则高分辨率非常有用。如果没有,你可以随时扩展。如果缩放,我更倾向于缩小,通常只是因为它通常会产生更好的显示图像,而不是放大。

我越是想到这一点,这总体上是一个模糊的问题。希望这会带来一些好处。