Как вращать и масштабировать изображения с помощью PyGame?
Мы можем вращать и масштабировать изображение в Pygame, используя функции pygame.transform.rotate и pygame.transform.scale соответственно модуля Pygame. Функция используется для поворота изображения на заданный угол в градусах. Функция принимает два параметра — изображение, которое нужно повернуть, и угол поворота. В этой статье мы будем использовать функции pygame.transform.rotate и pygame.transform.scale для поворота и масштабирования изображения соответственно.
Поворот изображения в Pygame
Алгоритм
Поворот изображения в Pygame —
Импортируйте библиотеку pygame.
Инициализируйте Pygame, вызвав pygame.init().
Установите размер экрана с помощью pygame.display.set_mode().
-
Загрузите изображение для поворота, используя pygame.image.load().
Поверните изображение с помощью pygame.transform.rotate() и укажите угол поворота в градусах.
Используйте screen.blit(), чтобы нарисовать исходное и повернутое изображения на экране.
Вызовите pygame.display.flip(), чтобы обновить отображение.
Подождите, пока пользователь закроет окно, используя цикл while, который прослушивает событие pygame.QUIT.
Закройте Pygame, используя pygame.quit().
Синтаксис
pygame.transform.rotate(Surface, angle)
Здесь Surface — это поверхность, которую нужно повернуть, а angle — это угол поворота поверхности в градусах. Функция возвращает новую поверхность с повернутым изображением.
Пример
Код ниже загружает изображение с именем python-logo.png и поворачивает его на 45 градусов с помощью функции pygame.transform.rotate, а затем отображает на экране как исходное, так и повернутое изображение. Функция блитирования используется для рисования изображений на экране.
import sys
import pygame
pygame.init()
screen = pygame.display.set_mode((400, 400))
# Load the image to rotate
image = pygame.image.load('python-logo.png')
# Rotate the image by 45 degrees
rotated_image = pygame.transform.rotate(image, 45)
# Display the original and rotated image on the screen
screen.blit(image, (0, 0))
screen.blit(rotated_image, (200, 0))
pygame.display.flip()
# Wait for the user to close the window
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
Выход
Масштабирование изображения в Pygame
Pygame предоставляет функцию pygame.transform.scale, которая масштабирует изображение до заданного размера. Функция принимает два параметра: изображение для масштабирования и новый размер изображения. В приведенном ниже коде используется функция pygame.transform.scale для масштабирования изображения в два раза по сравнению с исходным размером.
Алгоритм
Масштабирование изображения в Pygame —
Импортируйте библиотеку pygame.
Инициализируйте Pygame, вызвав pygame.init().
Установите размер экрана с помощью pygame.display.set_mode().
Загрузите изображение для масштабирования с помощью pygame.image.load().
Масштабируйте изображение с помощью pygame.transform.scale() и укажите новый размер изображения в виде кортежа (ширина, высота).
Используйте screen.blit(), чтобы нарисовать исходное и масштабированное изображение на экране.
Вызовите pygame.display.flip(), чтобы обновить отображение.
Подождите, пока пользователь закроет окно, используя цикл while, который прослушивает событие pygame.QUIT.
Закройте Pygame, используя pygame.quit().
Синтаксис
pygame.transform.scale(Surface, size)
Здесь Surface — это поверхность для масштабирования, а size — это кортеж, представляющий новый размер поверхности. Функция возвращает новую поверхность с масштабированным изображением.
Пример
import pygame
import sys
pygame.init()
screen = pygame.display.set_mode((700, 500))
# Load the image to scale
image = pygame.image.load('python-logo.png')
# Scale the image to 2x its original size
scaled_image = pygame.transform.scale(image, (image.get_width() * 2, image.get_height() * 2))
# Display the original and scaled image on the screen
screen.blit(image, (0, 0))
screen.blit(scaled_image, (200, 0))
pygame.display.flip()
# Wait for the user to close the window
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
Выход
Заключение
В этой статье мы повернули и масштабировали изображение с помощью методов Pygame pygame.transform.rotate и pygame.transform.scale. Это простые в использовании методы, которые используют определенные параметры для поворота и масштабирования изображений. С помощью этих функций вы можете создавать динамичные и визуально привлекательные игры и приложения.