gpt4 book ai didi

android - 预览宽高比在不同设备上不同

转载 作者:行者123 更新时间:2023-11-29 18:06:56 25 4
gpt4 key购买 nike

在我的应用程序中,我有一个预览屏幕。在一台设备(LG,Android 2.2,320x480 屏幕)和另一台设备(HTC,Android 2.3,480x800 屏幕)上一切正常。在这两种情况下,支持的预览尺寸列表都包括一个完全适合屏幕尺寸的尺寸,我选择它并且图像非常完美。问题出在另一台设备上,它的屏幕与第一台设备相似(三星,Android 2.3,320x480 屏幕)。不管我选择了适合屏幕尺寸的预览尺寸,与之前的情况一样,图像并没有保持其纵横比;圆圈呈椭圆形;图像沿着屏幕的短轴被挤压。似乎硬件本身为了获得 320x480 的预览,压缩了图像(相机的外形尺寸为 4:3,而屏幕的外形尺寸为 3:2)。所以我改变了预览出现的 View 的布局参数,以适应相机的外形尺寸(尺寸:360x480。这部分解决了问题;实际上,要完全解决它,我必须设置 380x480(!! !)。事实上,我不可能找到任何 API 告诉我这种不同的行为,以便我可以自动补偿它。甚至没有 Camera.Parameters.getHorizontalViewAngleCamera.Parameters.getHorizontalViewAngle似乎有帮助;他们在所有三个设备上给出相同的值!谁能帮帮我?

最佳答案

经过更深入的调查,包括编写临时代码来检查预览在屏幕上的实际显示方式,这就是我的发现。在一台设备 (LG E-720) 上,预览图像被裁剪以获得 3:2 的外形尺寸,然后调整大小以适合屏幕。纵横比被保留: enter image description here

在第二台设备 (Samsung ACE) 上,预览图像似乎以不同的方式裁剪,结果为 5:4 图像(!?),然后调整大小以适合屏幕。由于不同的形状因素,屏幕上的图像出现挤压。: enter image description here

我已经检查了第二台设备是否有可用的软件更新,但事实并非如此。因此,为了在屏幕上获得或多或少正确的图像,我将目标 View 定义为 384 像素高;这实际上会导致裁剪以恢复正确的纵横比。但是,由于原始裁剪是水平不对称的,因此它不会补偿小的水平偏移。

关于android - 预览宽高比在不同设备上不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12955797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com