Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 Pygame으로 이미지를 화면에 표시하는 방법

Pygame은 파이썬으로 게임과 멀티미디어 애플리케이션을 개발할 때 널리 사용되는 대표적인 멀티미디어 라이브러리입니다. 이 글에서는 Pygame 모듈을 활용해 이미지를 화면에 그리는 방법을 살펴보겠습니다. 특히 이미지의 높이, 너비, 그리고 Pygame 윈도우 내에서의 위치를 어떻게 지정하는지 함께 알아봅니다.

이미지 표시의 기본 흐름

Pygame으로 이미지를 출력하는 과정은 다음과 같은 순서로 진행됩니다.

먼저 pygame.init()으로 모듈을 초기화한 뒤, set_mode() 함수로 윈도우의 크기(모드)를 정하고 set_caption()으로 창 제목을 지정합니다. 그다음 pygame.image.load()를 사용해 이미지 파일을 불러오고, 이미지가 그려질 좌표(x, y)를 정의합니다.

screen.blit() 함수는 지정한 좌표에 이미지를 화면에 그리는 역할을 하며, pygame.display.flip()이 호출되어야 실제로 화면에 반영됩니다. 마지막으로 while 루프가 실행되는 동안 이벤트를 계속 감시하다가, 사용자가 게임 종료 버튼을 클릭하면 프로그램이 끝나도록 처리합니다.

예제 코드

import pygame
pygame.init()
w = 300;
h = 300
screen = pygame.display.set_mode((w, h))
pygame.display.set_caption('Tutorialspoint Logo')
TPImage = pygame.image.load("E:\\Python3\\tutorialspoint.png").convert()
# coordinates of the image
x = 10;
y = 20;
screen.blit(TPImage, (x, y))
# paint screen one time
pygame.display.flip()
running = True
while (running): # loop listening for end of game
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
# loop over, quite pygame
pygame.quit()

실행 결과

위 코드를 실행하면 300×300 크기의 Pygame 윈도우가 열리고, 창 제목에는 'Tutorialspoint Logo'가 표시됩니다. 불러온 이미지는 윈도우 왼쪽 위를 기준으로 x축 10픽셀, y축 20픽셀 위치에 나타납니다.

파이썬 Pygame으로 이미지를 화면에 표시하는 방법

주요 코드 설명

  • convert(): 이미지를 화면 형식에 맞게 변환하여 렌더링 성능을 크게 향상시킵니다.
  • blit(): 'Block Transfer'의 줄임말로, Surface 객체(이미지)를 다른 Surface(화면)의 지정된 좌표에 복사합니다.
  • flip(): 그려진 내용을 실제 화면에 업데이트합니다. 이 함수를 호출하지 않으면 이미지가 보이지 않습니다.
  • 이벤트 루프: pygame.event.get()으로 발생한 이벤트를 확인하고, QUIT 이벤트가 발생하면 루프를 종료합니다.