簡體   English   中英

如何獲得PyGame的全屏模式以在不同計算機上一致地縮放?

[英]How can I get PyGame's fullscreen mode to scale consistently on different computers?

簡而言之:使用相同的python腳本和相同的監視器,在全屏模式下使用PyGame會在兩台不同的計算機上生成兩個大小不同的圖像。

我試圖在兩台計算機上運行PyGame腳本,並且我需要顯示的圖像在兩台計算機上彼此匹配。 每台計算機都具有相同的監視器。 在不使用全屏的情況下,PyGame窗口(以及所顯示表面的圖像)大小相同。 使用時

pygame.display.set_mode((width,height),pygame.FULLSCREEN)

當(寬度,高度)的比例與顯示器的原始分辨率的縱橫比匹配時,兩台計算機上的圖像大小相同。 如果我使用不在該列表中的組合,例如,在我的情況下(1250,850),則屏幕上的圖像對於每台計算機的縮放比例都不同。 這些計算機非常相似,但是它們沒有相同的圖形適配器。

在PyGame文檔中,我們可以找到

當請求全屏顯示模式時,有時會與
無法做出請求的解決方案。 在這些情況下,pygame將選擇
最接近的兼容匹配。

PyGame是否為每台計算機選擇不同的匹配項?

也許您可以使用pygame.display.list_modes ,這會告訴您全屏的分辨率是可能的

回答標題問題:使用顯示模式分辨率,這是普遍支持的寬高比。

區別在於圖形適配器。 pygame.display.list_modes()給出的支持的分辨率列表取決於適配器。 尤其是,每個適配器上面的第二個最高分辨率(1250,850)都不相同,因此PyGame的全屏模式在每台計算機上使用了不同的“最接近兼容”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM