计算#或行和列

Amb*_*Mac 9 language-agnostic algorithm

我有一组图像,我将它拼接成一个精灵表,如何计算行数和列数以均匀地拟合在一个偶数矩形(没有空格)?

一些例子:

6个图像应该变成2行3列

7个图像应该变成1行,7列

8个图像应该变成2行,4列

9个图像应该变成3行,3列

10个图像应该变成2行,5列

希望这有助于解释它.

想法?

sma*_*ane 13

这是一个非常快速和简单的算法(其中N是图像的数量)

rows = floor(sqrt(N))
while(N % rows != 0)
     rows = rows - 1
Run Code Online (Sandbox Code Playgroud)

并且rows将是所需的行数.显然可以找到列N / rows.

我希望这有帮助!