2012-04-05 175 views
3

將圖形對象顯示在屏幕上如何計算屏幕比例我不知道,並且還指定移動設備和PC的比率計算是不同的。計算比率

我想問這個問題,因爲我有世界時間步的問題。

+0

寬高比問題在這裏涵蓋:http://stackoverflow.com/questions/9198932/dealing-with-different-aspect-ratios-in-libgdx或在這裏:http://blog.acamara.es/2012/ 2月5日/保持屏幕縱橫比與 - 不同的決議-使用-libgdx /。 – 2012-04-06 00:59:48

回答

5

窗口,屏幕,圖像或其他矩形對象的寬高比僅僅是寬度除以其高度。

因此,例如,一個全高清畫面(寬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,大多數手機操作系統實際上保持寬度和高度相同並留給你處理這個事實,即屏幕基本上只是放在它的側面。