c# - 计算图片调整大小与可用空间的比较
问题描述
假设我有一张图片,我需要把它放到一个正方形中。但是在某些情况下,图片太大了,所以我需要改变它的大小,使它适合正方形。
该算法应该计算并返回我需要减少它的大小。该函数获取图片的高度、宽度、正方形高度和正方形宽度。它会返回一个数字,说明我需要减少多少,保持原来的宽高比。
这是我的解决方案,我不确定是否涵盖所有情况:
double CalcPicSize(double picWidth, double picHeight, double sqWidth, double sqHeight )
{
var widthRatio, heightRatio;
if (picWidth <= 0 || picHeight <= 0 || sqWidth <= 0 || sqHeight <= 0)
return -1;
if (picWidth == null || picHeight == null || sqWidth == null || sqHeight == null)
return -1;
if(picWidth <= sqWidth && picHeight <= sqHeight)
return 1;
widthRatio = picWidth / sqWidth;
heightRatio = picHeight / sqHeight;
if(widthRatio > heightRatio)
return widthRatio;
return heightRatio;
}
解决方案
推荐阅读
- ios - 如何更改 WebView 中的字体大小(Swift 5)
- flutter - 列表
不是 Map 的子类型 - 颤振 - memory - 在保护模式下如何更改第一兆字节的内存布局?
- prettier - 更漂亮的类变量之前的规则空间
- authentication - 用户登录错误,使用自定义策略进行注册和登录
- typescript - 使用 immer 正确打字以制作苗条的商店
- java - 我可以使用 RabbitMQ 和 Spring Boot 开发多租户应用程序吗?
- dns - 将域的子目录指向另一个服务器上的另一个网站
- google-apps-script - 如何获得迟到的分钟数
- ios - 如何摆脱 3D Capture 示例中的“No such module 'PromiseKit' error”