pygame可以检测到屏幕的视频模式吗?

问题描述 投票:5回答:3

Python和Pygame可以检测我的屏幕的视频模式/分辨率

我正在以1920x1080全屏运行我的程序,这将很好,因为我有一个16:9的屏幕@ 1920x1080然而如果我在4:3的屏幕上运行代码@ 1024x768然后它给了我这个错误messgae

pygame.error:没有足够大的视频模式1920x1080

pygame可以检测屏幕的视频模式/分辨率吗?

python python-3.x video pygame resolution
3个回答
2
投票

如果您需要显示器的实际尺寸,而不是最佳分辨率,请执行以下操作:

import pygame
pygame.display.init()
# Before calling *.set_mode()
i = pygame.display.Info()
width = i.current_w
height = i.current_h
print("The screen size is: (%ix%i)" %width, height))

然后你可以使用宽度和高度pygame.display.set_mode()


2
投票

是的,似乎pygame可以检测显示器中的各种设置。

第一个看的地方是this link here,阅读它应该会给你很多关于pygame如何帮助你显示模式的信息。如何确定部分可能对您最有用。

阅读之后你会发现自己正在转向this link here。您将在链接后的第四段中看到:

如果需要对像素格式或显示分辨率进行精确控制,请使用函数pygame.display.mode_ok(),pygame.display.list_modes()和pygame.display.Info()来查询有关显示的信息。

因此,最好阅读如何使用和使用它们以查看信息的返回和使用方式。


2
投票

如果您将(0, 0)或其他任何内容作为分辨率传递给pygame.display.set_mode,pygame将使用您的显示器的分辨率(如果之前调用过display.set_mode,它将使用您当前显示的分辨率)。您也可以调用pygame.display.list_modes()并选择一个返回的分辨率。

顺便说一下,在Windows中你需要注意,因为pygame窗口可以被拉伸。 This answer会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.