首页 / C# / C# 计算图片最大缩放宽高的函数
C# 计算图片最大缩放宽高的函数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C# 计算图片最大缩放宽高的函数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1706字,纯文字阅读大概需要3分钟。
内容图文
![C# 计算图片最大缩放宽高的函数](/upload/InfoBanner/zyjiaocheng/1179/f5bd2dc97b224d76943fc0c1ba7fdf90.jpg)
/// <summary> /// 计算同比缩放的值 /// </summary> /// <param name="oW">原宽</param> /// <param name="oH">原高</param> /// <param name="w">目标宽</param> /// <param name="h">目标高</param> /// <param name="mode">HW(指定高宽缩放(可能变形)),W(指定宽,高按比例),H(指定高,宽按比例),MaxHW(最大宽高比例缩放,比如原100*50->50*30,则结果是50*25)</param> /// <returns></returns> public static WidthHeight TBScale(double oW,double oH,double w,double h,string mode= "W") { WidthHeight wh = new WidthHeight(); double ow = wh.width = oW; double oh = wh.height = oH; switch (mode) { case "HW": //指定高宽缩放(可能变形) wh.width = (int)w; wh.height = (int)h; break; case "W": //指定宽,高按比例 wh.height = oH * w / oW; break; case "H": //指定高,宽按比例 wh.width = oW * h / oH; break; case "Cut": //指定高宽裁减(不变形) if ((double)oW / (double)oH > (double)wh.width / (double)wh.height) { oh = oH; ow = oH * wh.width / wh.height; } else { ow = oW; oh = oW * h / wh.width; } break; case "MaxHW"://最大宽高比例缩放,比如原100*50->50*30,则结果是50*25 var rmaxhw_d1w = oW * 1.0 / w; var rmaxhw_d2h = oH * 1.0 / h; if (rmaxhw_d1w > rmaxhw_d2h) { if (rmaxhw_d1w <= 1) { wh.width = oW; h = oH; goto case "HW"; } wh.width = w; goto case "W"; } if (rmaxhw_d2h <= 1) { wh.width = oW; h = oH; goto case "HW"; } wh.height = h; goto case "H"; default: break; } wh.width = (int)wh.width; wh.height = (int)wh.height; return wh; } }
/// <summary> /// 宽高类 /// </summary> public class WidthHeight { /// <summary> /// 宽 /// </summary> public double width { get; set; } /// <summary> /// 高 /// </summary> public double height { get; set; } }
原文:https://www.cnblogs.com/DoNetCShap/p/14894781.html
内容总结
以上是互联网集市为您收集整理的C# 计算图片最大缩放宽高的函数全部内容,希望文章能够帮你解决C# 计算图片最大缩放宽高的函数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。