
如果我正确地解释了您的规范,则您希望得到的结果不大于最终用户最初提出的结果;您希望两个维度之一缩小,而另一个保持不变。换句话说,新尺寸应在一个方向上填充设计者空间,同时在另一个方向上缩短尺寸以保留原始长宽比。
original_ratio = original_width / original_heightdesigner_ratio = designer_width / designer_heightif original_ratio > designer_ratio designer_height = designer_width / original_ratioelse designer_width = designer_height * original_ratio
通常,您将使用整数坐标,但是要产生上述比率的除法运算必须是浮点数。这是对公式的重新排列,使其更加整数友好。确保您的整数具有处理最大宽度*高度的范围。
if original_width * designer_height > designer_width * original_height designer_height = (designer_width * original_height) / original_widthelse designer_width = (designer_height * original_width) / original_height
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)