主要内容 #
- 模块介绍
- 模块参数说明
- 使用示例
收获 #
会使用transform模块对图像对象进行简单的变形操作。
1.模块介绍 #
pygame.transform是用于改变surfaces形态的pygame模块。
pygame.transform 模块允许您对加载、创建后的图像进行一系列操作,比如调整图像大小、旋转图片等操作。
2.模块参数说明 #
pygame.transform 模块常用方法如下所示:

pygame.transform.scale() :调整大小到新的分辨率
scale(Surface, (width, height), DestSurface = None) -> Surface
将Surface的大小调整为新分辨率。
pygame.transform.rotate() :旋转图像
rotate(Surface, angle) -> Surface
未经过滤的逆时针旋转。 angle参数表示角度,可以是任何浮点值。 负角度量将顺时针旋转。
pygame.transform.rotozoom() :过滤的缩放和旋转
rotozoom(Surface, angle, scale) -> Surface
这是组合的缩放和旋转变换。scale参数是一个浮点值,将乘以当前分辨率。 角度参数是一个浮点值,表示要旋转的逆时针度数。 负旋转角度将顺时针旋转。
3.使用示例 #
下面看一组简单的演示示例:
import pygame
# 引入pygame中所有常量,比如 QUIT
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((400, 300))
pygame.display.set_caption('大师码')
# 加载一张图片
image_surface = pygame.image.load("C:/Users/91566/Desktop/dashima/logo.png").convert()
image_new = pygame.transform.scale(image_surface, (300, 300))
# 查看新生成的图片的对象类型
# print(type(image_new))
# 对新生成的图像进行旋转至45度
image_1 = pygame.transform.rotate(image_new, 45)
# 使用rotozoom() 旋转 0 度,将图像缩小0.5倍
image_2 = pygame.transform.rotozoom(image_1, 0, 0.5)
while True:
for event in pygame.event.get():
if event.type == QUIT:
exit()
# 将最后生成的image_2添加到显示屏幕上(也可以将显示image_2改成image_new或者image_1)
screen.blit(image_2, (0, 0))
pygame.display.update()
程序的运行结果如下:
生成image_new:

拓展练习:将图片调整大小到新的分辨率200*200。
生成image_1:

拓展练习:将图片旋转90°。
生成image_2:

拓展练习:将图片旋转45 度,将图像缩小0.3倍
小结 #
本节主要介绍了pygame.surface模块的一些常用方法,具体学习了pygame.transform.scale() :调整大小到新的分辨率、pygame.transform.rotate() :旋转图像、pygame.transform.rotozoom() :过滤的缩放和旋转并给出实例。
练习 #
1.将图像分辨率调整为400*300。
2.将图片顺时针选择30°。
3.使用rotozoom() 将图片逆时针旋转 45 度,将图像缩小0.3倍。