파이게임에서 이미지 크기 조정

Maxim Maeder 2023년6월21일
  1. 파이게임에서 이미지 불러오기
  2. 파이게임에서 이미지 크기 조정
  3. 파이게임에서 비례적으로 이미지 크기 조정
파이게임에서 이미지 크기 조정

이 튜토리얼은 파이게임에서 표면의 크기를 조정하는 방법을 알려줍니다.

파이게임에서 이미지 불러오기

이미지를 변환하기 전에 Pygame의 image.load() 메서드를 가져와야 합니다. 이미지에 대한 경로를 지정하고 jpg, pnggif가 지원되는지 확인해야 합니다.

이 함수는 이미 화면에 표시할 수 있는 새 표면을 반환하지만 이미지가 너무 크거나 작을 수 있습니다.

다음 부분에서 이미지 크기를 조정하는 방법을 보여 드리겠습니다.

image = pygame.image.load("img.jpg")

파이게임에서 이미지 크기 조정

pygame.transform.scale 함수를 사용하여 이미지의 크기를 조정합니다. 먼저 크기 조정 시 표면을 전달한 다음 새 너비와 높이를 반복 가능 항목(목록 또는 튜플)으로 전달해야 합니다.

이 함수는 스케일링된 표면을 반환합니다. 이것이 우리가 이전 표면을 덮어쓰는 이유입니다.

이렇게 하면 이미지가 늘어나서 상당히 왜곡되어 보일 수 있으므로 이제 비례 배율을 살펴보겠습니다.

image = pygame.transform.scale(image, (width, height))

파이게임에서 비례적으로 이미지 크기 조정

파이게임은 비례적으로 확장하는 방법을 제공하지 않지만 아래에서 찾을 수 있는 코드를 사용하여 직접 확장할 수 있습니다. 먼저 이미지를 가져와 이미지 변수에 저장한 다음 get_rect() 메서드를 사용하여 이미지 표면의 rect를 가져옵니다.

그러면 x 및 y 위치와 너비 및 높이가 포함된 배열이 반환됩니다. 너비와 높이만 필요하기 때문에 접합합니다.

그런 다음 출력 이미지가 얼마나 작거나 큰지를 결정하기 위해 배율 승수를 정의합니다. 이 경우 원래 크기의 1/3이 됩니다.

계속해서 이미지를 변환하고 크기를 조정할 표면을 제공한 다음 너비와 높이에 크기를 곱하고 두 숫자를 모두 정수로 변환하는 배열을 제공합니다. 다음 스니펫은 비율을 유지하면서 크기를 조정합니다.

image = pygame.image.load("img.jpg")

ext = image.get_rect()[2:4]
size = 0.3

image = pygame.transform.scale(image, (int(ext[0] * size), int(ext[1] * size)))

완전한 코드:

# Imports
import sys
import pygame

# Configuration
pygame.init()
fps = 60
fpsClock = pygame.time.Clock()
width, height = 640, 480
screen = pygame.display.set_mode((width, height))

image = pygame.image.load("image.png")
ext = image.get_rect()[2:4]
size = 0.3

image = pygame.transform.scale(image, (int(ext[0] * size), int(ext[1] * size)))

# Game loop.
while True:
    screen.fill((20, 20, 20))
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

    screen.blit(image, (30, 30))

    pygame.display.flip()
    fpsClock.tick(fps)

출력:

pygame의 스케일 이미지

작가: Maxim Maeder
Maxim Maeder avatar Maxim Maeder avatar

Hi, my name is Maxim Maeder, I am a young programming enthusiast looking to have fun coding and teaching you some things about programming.

GitHub

관련 문장 - Pygame Image