Pygame Transform图像变形的实现示例
作者:天子骄龙 时间:2022-03-04 03:39:29
pygame.transform 模块允许您对加载、创建后的图像进行一系列操作,比如调整图像大小、旋转图片等操作,常用方法如下所示:
下面看一组简单的演示示例:
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()
实现示例
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()
img1 = pygame.transform.scale(img, (200, 100)) #缩放
#参数2:新图像的宽高
img1 = pygame.transform.smoothscale(img,(400,300)) #平滑缩放图像
#此函数仅适用于24位或32位surface。 如果输入表面位深度小于24,则抛出异常
img1 = pygame.transform.scale2x(img) #快速的两倍大小的放大
img = pygame.image.load('马.jpg')
img1 = pygame.transform.rotate(img, 30) #旋转图像
#参数2:要旋转的角度--正数表示逆时针--负数表示顺时针
#除非以90度的增量旋转,否则图像将被填充得更大的尺寸。 如果图像具有像素alpha,则填充区域将是透明的
#旋转是围绕中心
img1 = pygame.transform.rotozoom(img, 30.0, 2.0) #缩放+旋转
#第一个参数指定要处理的图像,第二个参数指定旋转的角度数,第三个参数指定缩放的比例
#这个函数会对图像进行滤波处理,图像效果会更好,但是速度会慢很多
img1 = pygame.transform.chop(img, (0, 0, 100, 50)) #对图像进行裁减
#第一个参数指定要裁减的图像,第二个参数指定要保留的图像的区域
img = pygame.image.load('马.jpg')
img1 = pygame.transform.laplacian(img) #查找边--轮廓
来源:https://www.cnblogs.com/liming19680104/p/13223908.html
标签:Pygame,Transform,图像变形
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python实现用户名和密码登录
2022-02-17 13:49:49
Python+Django+MySQL实现基于Web版的增删改查的示例代码
2023-11-20 02:09:06
![](https://img.aspxhome.com/file/2023/2/64252_0s.png)
404页面设计一样可以闪光
2007-08-19 15:09:00
![](https://img.aspxhome.com/file/UploadPic/20078/19/2007819151737875s.gif)
python实现微信跳一跳辅助工具步骤详解
2023-08-02 11:11:40
python实现百度关键词排名查询
2023-01-19 12:26:58
asp清理站点缓存代码
2008-07-21 12:37:00
关于ASP中的类class
2007-08-19 15:37:00
浅谈pandas筛选出表中满足另一个表所有条件的数据方法
2022-08-12 14:29:13
![](https://img.aspxhome.com/file/2023/4/78764_0s.jpg)
SQL Server查询速度慢原因及优化方法
2008-12-03 15:19:00
python调用c++ ctype list传数组或者返回数组的方法
2021-09-28 01:24:04
FCKeditor新版本发布,并更名为CKeditor
2009-09-08 13:09:00
![](https://img.aspxhome.com/file/UploadPic/20099/8/ckeditor-60s.jpg)
MySQL身份认证漏洞 升级到5.5.24可修正
2012-07-11 15:54:09
最小asp后门程序
2011-04-03 10:35:00
layui table 获取分页 limit的方法
2023-08-24 13:44:56
![](https://img.aspxhome.com/file/2023/2/56012_0s.jpg)
利用arcgis的python读取要素的X,Y方法
2023-03-13 11:27:05
使用 TRUNCATE TABLE 删除所有行
2008-04-24 19:20:00
Python爬虫基础初探selenium
2023-07-26 17:40:50
![](https://img.aspxhome.com/file/2023/4/61194_0s.png)
python递归下载文件夹下所有文件
2023-08-07 07:21:55
php生成随机密码的三种方法小结
2023-11-22 04:25:50
Python选课系统开发程序
2023-07-21 00:25:03
![](https://img.aspxhome.com/file/2023/3/70693_0s.png)