pygame.transform 模块允许您对加载、创建后的图像进行一系列操作,比如调整图像大小、旋转图片等操作,常用方法如下所示:
下面看一组简单的演示示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
import pygame
#引入pygame中所有常量,比如 QUIT
from pygame. locals import *
pygame.init()
screen = pygame.display.set_mode(( 500 , 250 ))
pygame.display.set_caption( 'c语言中文网' )
#加载一张图片(455*191)
image_surface = pygame.image.load( "C:/Users/Administrator/Desktop/c-net.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添加到显示屏幕上
screen.blit(image_2,( 0 , 0 ))
pygame.display.update()
|
实现示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import pygame
pygame.init()
screen = pygame.display.set_mode(( 960 , 600 ))
pygame.display.set_caption( "图像变换" )
img = pygame.image.load( '马.jpg' )
clock = pygame.time.Clock()
img1 = pygame.transform.flip(img, False , True ) #图像进行水平和垂直翻转
#参数1:要翻转的图像
#参数2:水平是否翻转
#参数3:垂直是否翻转
#返回一个新图像
while True :
t = clock.tick( 60 )
for event in pygame.event.get():
if event. type = = pygame.QUIT:
exit()
screen.blit(img1,( 100 , 50 ))
pygame.display.update()
|
1
2
|
img1 = pygame.transform.scale(img, ( 200 , 100 )) #缩放
#参数2:新图像的宽高
|
1
2
|
img1 = pygame.transform.smoothscale(img,( 400 , 300 )) #平滑缩放图像
#此函数仅适用于24位或32位surface。 如果输入表面位深度小于24,则抛出异常
|
1
|
img1 = pygame.transform.scale2x(img) #快速的两倍大小的放大
|
1
2
3
4
5
|
img = pygame.image.load( '马.jpg' )
img1 = pygame.transform.rotate(img, 30 ) #旋转图像
#参数2:要旋转的角度--正数表示逆时针--负数表示顺时针
#除非以90度的增量旋转,否则图像将被填充得更大的尺寸。 如果图像具有像素alpha,则填充区域将是透明的
#旋转是围绕中心
|
1
2
3
|
img1 = pygame.transform.rotozoom(img, 30.0 , 2.0 ) #缩放+旋转
#第一个参数指定要处理的图像,第二个参数指定旋转的角度数,第三个参数指定缩放的比例
#这个函数会对图像进行滤波处理,图像效果会更好,但是速度会慢很多
|
1
2
|
img1 = pygame.transform.chop(img, ( 0 , 0 , 100 , 50 )) #对图像进行裁减
#第一个参数指定要裁减的图像,第二个参数指定要保留的图像的区域
|
1
2
|
img = pygame.image.load( '马.jpg' )
img1 = pygame.transform.laplacian(img) #查找边--轮廓
|
以上就是Pygame Transform图像变形的实现示例的详细内容,更多关于Pygame Transform图像变形的资料请关注服务器之家其它相关文章!
原文链接:https://www.cnblogs.com/liming19680104/p/13223908.html