等比例缩放公式

等比例缩放公式文章介绍了等比例缩放的数学公式 并提供了一个 C 代码示例 该示例展示如何缩放图像 确保其在保持原图比例的同时 宽度不超过最大宽度 高度不超过最大高度

大家好,欢迎来到IT知识分享网。

等比例缩放公式

(缩放后的宽度/原始宽度)*原始高度=等比例缩放后的高

例如:

一张图片是 1000宽*100高

画布100宽*10高

等比例缩放图片到画布上

带入上面公式

(100/1000)*100=10

图片宽度缩放成100,高度是10

公式解释:

以上面的例子参考

画布的宽是100,

先算出100里面有多少个1000;也就是1000变成100缩放了多少倍;

然后,再乘以图片的原始高度;

也就是我们知道了宽缩放了多少倍,

让这个倍数再乘以“原始高”,那么“高”和“宽”就等于一起缩放了。

c# 代码示例

最后返回,“高度”小于“最大高度”,“宽度”小于“最大宽度”的数值

#region 等比例缩放 /// <summary> /// 等比例缩放-最后返回,“高度”小于“最大高度”,“宽度”小于“最大宽度”的数值 /// </summary> /// <param name="MaxWidth">最大宽</param> /// <param name="MaxHeight">最大高</param> /// <param name="width">宽</param> /// <param name="height">高</param> /// <param name="subtract">递减量</param> public static void EqualScaleScaling(Double MaxWidth, Double MaxHeight, ref Double width, ref Double height,int subtract=0) { //等比例缩放后的高 Double h = ((((MaxWidth - subtract) * 1.0f) / width) * height) * 1.0; width = MaxWidth; height = h; //递归遍历,触发递归后,图片会一直缩小,直至高度小于最大高度 if (height > MaxHeight) { subtract = subtract + 1; EqualScaleScaling(MaxWidth, MaxHeight, ref width, ref height, subtract); } } #endregion

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/122244.html

(0)
上一篇 2025-10-18 09:45
下一篇 2025-10-18 10:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信