gpt4 book ai didi

algorithm - 数学/算法 使图像适合屏幕并保持纵横比

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:13:34 25 4
gpt4 key购买 nike

我需要数学/算法方面的帮助来拍摄已知大小的图像并适合两个屏幕尺寸之一:

720 x 480 或 1280 x 1024。

图像尺寸来自 XML 文件,但这些尺寸是网络尺寸,我还从 XML 中选择了一些图像,这些图像的分辨率可能比网络尺寸更高或更低。

我想要的是使用网络尺寸的宽高比在高清 (1280x720) 屏幕上显示更高分辨率的图像(如果可用),或者,如果用户使用的是标清屏幕 (720x480),则显示图像在那个屏幕上。

其他对此有用但优先级较低的事情是,如果我知道图像的分辨率在两个维度上都小于 SD 屏幕(在这种情况下,我只知道网络维度,并且图像文件的水平尺寸),以在该屏幕上显示为实际尺寸。

最佳答案

尽可能通用:

图像数据:(wi, hi) 并定义 ri = wi/h
屏幕分辨率:(ws, hs) 并定义 rs = ws/h s

缩放图像尺寸:

rs > ri ? (wi * hs/hi, hs) : (ws, hi * ws/wi)

例如:

         20
|------------------|
10
|---------|

-------------------- --- ---
| | | | 7 |
| | | | | 10
|---------- | --- |
| | |
-------------------- ---

ws = 20
hs = 10
wi = 10
hi = 7

20/10 > 10/7 ==> (wi * hs/hi, hs) = (10 * 10/7, 10) = (100/7, 10) ~ (14.3, 10)

如您所见,它可以清楚地缩放到屏幕尺寸,因为高度是屏幕的高度,但自 14.3/10 ~ 10/7

以来显然保持纵横比

更新

居中图像如下:

调用 (wnew, hnew) 新维度。

top = (hs - hnew)/2
left = (ws - wnew)/2

关于algorithm - 数学/算法 使图像适合屏幕并保持纵横比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6565703/

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