计算比率

时间:2012-04-05 09:16:53

标签: java libgdx

要在屏幕上渲染绘图对象,如何计算我不知道的屏幕比例,还指定移动和电脑的比率计算不同。

我想问这个问题,因为我对世界时间步问题有疑问。

1 个答案:

答案 0 :(得分:7)

窗口,屏幕,图像或其他矩形对象的纵横比就是它的宽度除以其高度。

因此,例如,在全高清屏幕(1920像素宽,1080像素高)上,宽高比为:

ratio = width / height = 1920 / 1080 = 1.7778

请注意1920/1080 == 16/9:这就是为什么它通常被称为16:9宽高比。如果您将冒号视为一个除法,您将获得与测量屏幕本身相同的纵横比。

同样有趣的是:如果你知道宽高比(例如16:9或1.7778)并知道屏幕的高度(例如1080像素),你可以通过乘以得到屏幕的宽度:

width = height * ratio = 1080 * 1.7778 = 1920 // round result to nearest integer
// Or, if you remember that 16:9 means 16/9, then:
width = height * ratio = 1080 * (16 / 9) = 1920

同样,您可以通过除以:

来获得宽高比和宽度的屏幕高度
height = width / ratio = 1920 / 1.7778 = 1080 // Again, rounding to integer
// Or...
height = width / ratio = 1920 / (16 / 9) = 1080

唯一真正棘手的问题是某些移动设备如何处理宽高比可能会有点混乱。例如,当您将手机旋转到它的侧面时,很自然地认为长边已成为屏幕的宽度而短边是它的高度 - 但是,IIRC,大多数手机操作系统实际上保持宽度和高度相同并且由你来决定屏幕基本上只是倾斜的事实。