Agn*_*ian 59 algorithm scaling
我有一个源矩形和一个目标矩形.我需要找到在适合目标矩形并保持其原始高宽比时可以缩放源的最大比例.
Google找到了一种方法,但我不确定它是否适用于所有情况.这是我自制的解决方案:
msrc和mdest.msrc < mdst,缩放源宽度以适合目标宽度(和比例高度相同的比例)寻找这个问题的其他可能的解决方案.我甚至不确定我的算法是否适用于所有情况!
tom*_*m10 116
scale = min( dst.width/src.width, dst.height/src.height)
Run Code Online (Sandbox Code Playgroud)
这是你的方法,但写得更干净.
Gus*_*uss 10
另一种选择可能是缩放到最大宽度,然后检查缩放高度是否大于允许的最大高度,如果是这样,则按高度缩放(反之亦然):
scale = (dst.width / src.width);
if (src.height * scale > dst.height)
scale = dst.height / src.height;
Run Code Online (Sandbox Code Playgroud)
我认为这个解决方案更短,更快,更容易理解.