计算给定纵横比的包围矩形

时间:2015-05-10 18:09:42

标签: aspect-ratio

考虑到任何尺寸和纵横比的矩形的高度和宽度,如何计算给定纵横比的最小包围矩形的高度和宽度?

在代码中,函数签名看起来像这样

public Size getMinimumEnclosingRectangle(Size originalRectangle, float aspectNumerator, float aspectDenomiator);

调用此函数看起来像

originalRectangle    AspectRatio     Result
-------------------------------------------
100x100              1:2             100x200
64x32                1:1             64x64
125x100              3:2             150x100
100x345              1:3             115x345

1 个答案:

答案 0 :(得分:1)

这可能不是最好的方法,但我进行此计算的方法是计算纵横比的变化,然后根据结果的宽度/高度计算。以下是一些在实践中说明此算法的代码:

{{1}}