gpt4 book ai didi

基于另一个图像尺寸缩放图像并保持其纵横比的算法

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

我有 2 张图片,图片 1图片 2

图片 1 的尺寸为 512(宽)x 515(高)。

然后 Image 2 大小为 256(宽)x 256(高)。

图片 2 将用作水印,并将放置在图片 1 之上。

我希望Image 2 大小取决于Image 1 大小。 图片 2 可以根据图片 1 的大小调整大小。

Image 2 的新大小(宽度和高度)应该是 Image 120 大小,同时保留其大小纵横比。

找到图像 2 的新尺寸(宽度和高度)的算法是什么?

现在,我使用 (20%/100) * 512 来调整它的大小,但这不会保留 Image 2 纵横比。

最佳答案

如果两个图像的纵横比不同,那么在数学上不可能将宽度和高度都缩放 20% 并保持纵横比。

因此,选择一个您将用来缩放的轴,并将另一个轴缩放到保持纵横比的大小。

例如,使用宽度:

new_image1_width = 512 * (20 / 100) = 102.4

然后计算新的高度以保持纵横比:

original_aspect_ratio = image2_width / image2_height = 256 / 256 = 1
new_image1_height = 102.4 / original_aspect_ratio = 102.4

或者换一种方式(这次乘以比率):

new_image1_height = 515 * (20 / 100) = 103
original_aspect_ratio = image2_width / image2_height = 256 / 256 = 1
new_image1_width = 103 * original_aspect_ratio = 103

如果您必须处理任意图像大小和任意比例因子,则需要根据您希望的规则在两种方式之间进行两次切换。例如。您始终可以选择两者中较小的一个,或者使用按比例调整的高度,除非这会使您的高度大于图像 1 的高度,在这种情况下,请使用第二种方式,反之亦然。

关于基于另一个图像尺寸缩放图像并保持其纵横比的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40686575/

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