4

要将绘图对象渲染到屏幕上,我不知道如何计算屏幕的比率,并且还指定移动设备和 PC 的比率计算是不同的。

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

4

1 回答 1

8

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

因此,例如,在全高清屏幕(1920 像素宽 x 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,大多数手机操作系统实际上保持宽度和高度相同并由您来处理屏幕基本上只是倾斜的事实。

于 2012-06-05T21:47:55.890 回答