ilmiont
ilmiont

Reputation: 2151

How to get the resolution of a monitor in Pygame?

I'm just wondering if it is possible for me to get the resolution of a monitor in Pygame and then use these dimensions to create a window so that launching the program detects the monitor resolution and then automatically fits the window to the screen in fullscreen.

I am currently using pygame.display.set_mode((AN_INTEGER, AN_INTEGER)) to create the window. I am aware that you can get video info including the monitor resolution using pygame.display.Info() but how can I extract these values and then use them in pygame.display.set_mode()???

Thanks in advance, Ilmiont

Upvotes: 26

Views: 55808

Answers (4)

坐看云起
坐看云起

Reputation: 1

screen = pygame.display.set_mode()  # default is (0,0), so it's fullscreen

w, h = screen.get_size()  # the `screen` is a `Surface` type, so it has a get_size method

Upvotes: -2

Mailerdaimon
Mailerdaimon

Reputation: 6080

You can use pygame.display.Info():

The docs say:

current_h, current_w: Height and width of the current video mode, or of the desktop mode if called before the display.set_mode is called.
(current_h, current_w are available since SDL 1.2.10, and pygame 1.8.0) They are -1 on error, or if an old SDL is being used.1.8.0)

pygame.display.Info() creates an Info Object with the attributes current_h and current_w. Create the Info Object before you call display.set_mode and then call display.set_mode with current_h and current_w from the object.

Example:

infoObject = pygame.display.Info()
pygame.display.set_mode((infoObject.current_w, infoObject.current_h))

Upvotes: 52

Hack5
Hack5

Reputation: 3601

I don't know if this will work, but if you just want a fullscreen window use the following:

pygame.display.set_mode((0,0),pygame.FULLSCREEN)

(of course you still have to import pygame).

Upvotes: 11

aIKid
aIKid

Reputation: 28242

I don't know much about pygame, but here is a way using the module win32api:

from win32api import GetSystemMetrics

width = GetSystemMetrics(0)
height = GetSystemMetrics(1)

Update: After taking a glance at the docs, seems like you can get it from pygame.display.Info, like this:

width, height = pygame.display.Info().current_w, pygame.display.Info().current_h

Hope this helps!

Upvotes: 5

Related Questions