我有一个相同比例和大小的矩形物体的动态数字,我想最好地显示在屏幕上。我可以调整对象的大小,但需要保持比例。
我知道屏幕尺寸是多少。
如何计算将屏幕划分为哪些行和列的最佳数量,以及将对象缩放到什么大小?
谢谢,
杰米。

最佳答案

假设所有矩形具有相同的尺寸和方向,并且不应更改。
我们玩吧!

// Proportion of the screen
// w,h width and height of your rectangles
// W,H width and height of the screen
// N number of your rectangles that you would like to fit in

// ratio
r = (w*H) / (h*W)

// This ratio is important since we can define the following relationship
// nbRows and nbColumns are what you are looking for
// nbColumns = nbRows * r (there will be problems of integers)
// we are looking for the minimum values of nbRows and nbColumns such that
// N <= nbRows * nbColumns = (nbRows ^ 2) * r
nbRows = ceil ( sqrt ( N / r ) ) // r is positive...
nbColumns = ceil ( N / nbRows )

我希望我的数学是对的,但那离你要找的不远了;)
编辑:
有一个比率和宽度和高度没有多大区别…
// If ratio = w/h
r = ratio * (H/W)

// If ratio = h/w
r = H / (W * ratio)

然后使用“r”来找出行和列的使用量。

07-24 16:24