主要内容 #
- 模块介绍
- 模块参数说明
- 使用示例
收获 #
会使用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倍。