基于Python利用Pygame实现翻转图像
作者:聆听世界的鱼 发布时间:2021-05-20 00:05:08
标签:Python,Pygame,翻转图像
前言:
要翻转图像,我们需要使用pygame.transform.flip(Surface, xbool, ybool)
方法,该方法被调用来根据我们的需要在垂直方向或水平方向翻转图像。
语法:
pygame.transform.flip(Surface, xbool, ybool)
原始图像如下:
1、垂直翻转图像
我们在垂直方向上翻转图像。我们将使用 pygame.transform.flip()
来垂直显示图像。将 xbool 作为 True 和 ybool 作为 False 传递,这样图像就会垂直翻转。
代码如下:
# 导入 pygame 和 sys
import pygame
import sys
from pygame.locals import *
# 初始化pygame
# 导入模块
pygame.init()
pygame.display.set_caption('www.linuxmi.com')
# 图像大小将显示在屏幕上
screen = pygame.display.set_mode((1300, 600), 0, 32)
# pygame.image.load() 将返回
# 有图像的对象
img = pygame.image.load('linuxmi.com.png')
while True:
? ? # 背景颜色
? ? screen.fill((255, 255, 255))
? ? # 复制图像
? ? img_copy = img.copy()
? ? # pygame.transform.flip() 将翻转图像
? ? img_with_flip = pygnsformame.tra.flip(img_copy, False, True)
? ? # surface.blit() 函数绘制一个源
? ? # 在这个表面上
? ? screen.blit(img_with_flip, (50 + 1 * 120, 100))
? ? # 退出屏幕的事件 *
? ? for event in pygame.event.get():
? ? ? ? if event.type == QUIT:
? ? ? ? ? ? pygame.quit()
? ? ? ? ? ? sys.exit()
? ? # 每秒更新帧数
? ? pygame.display.update()
效果图如下:
2、水平方向翻转图像
我们在水平方向翻转图像。对于这个 xbool 作为 False 和 ybool 作为 True 传递,水平翻转它。
代码如下:
# 导入 pygame 和 sys
import pygame
import sys
from pygame.locals import *
# 初始化pygame
# 导入模块
pygame.init()
pygame.display.set_caption('www.linuxmi.com')
# 图像大小将显示在屏幕上
screen = pygame.display.set_mode((1300, 600), 0, 32)
# pygame.image.load() 将返回
# 有图像的对象
img = pygame.image.load('linuxmi.com.png')
while True:
? ? # 背景颜色
? ? screen.fill((255, 255, 255))
? ? # 复制图像
? ? img_copy = img.copy()
? ? # pygame.transform.flip() 将翻转图像
? ? img_with_flip = pygame.transform.flip(img_copy, False, True)
? ? # surface.blit() 函数绘制一个源
? ? # 在这个表面上
? ? screen.blit(img_with_flip, (50 + 1 * 120, 100))
? ? # 退出屏幕的事件 *
? ? for event in pygame.event.get():
? ? ? ? if event.type == QUIT:
? ? ? ? ? ? pygame.quit()
? ? ? ? ? ? sys.exit()
? ? # 每秒更新帧数
? ? pygame.display.update()
显示如下:
来源:https://developer.51cto.com/article/699971.html


猜你喜欢
- 请问如何从ASP连接到Oracle Server?可用下面的代码进行连接: <%@ Lan
- 概述在日常工作生活中,都是利用个人或公司的邮箱客户端进行收发邮件,那么如何打造一款属于自己的邮箱客户端呢?本文以一个简单的小例子,简述如何通
- 锁定数据库的一个表SELECT * FROM table WITH (HOLDLOCK)注意: 锁定数据库的一个表的区别SELECT * F
- MySQL有多种存储引擎:MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、
- 今天在用python3+ImageFont输出中文时,结果显示乱码# coding:utf-8from PIL import Image,
- 既然你选择了编程作为职业,就注定了要终生以计算机为伴。但这并不意味着你应该置自己的健康不顾。谁都知道,电脑面前待久了,一是伤害你的眼睛,而是
- 前言用过unittest的童鞋都知道,有两个前置方法,两个后置方法;分别是setup()setupClass()teardown()tear
- 这个小程序可以自己设定行数和列数进行图片切割import osfrom PIL import Imagedef splitimage(src
- 改变conda虚拟环境的默认路径conda环境默认安装在用户目录C:\Users\username.conda\envs下,如果选择默认路径
- 基于node+koa实现的mock数据接口,Koa需要v7.6.0以上node版本,低于此版本请先升级node目录结构// server.j
- jupyter notebook更换皮肤主题视频地址:https://www.bilibili.com/video/BV1Et4y1D7ru
- 在计算机科学中,二进制是一种由 0 和 1 组成的数字系统。Python 中提供了一种易于使用的方式来将二进制字符串转换为整数,并支持多种进
- 本文实例讲述了php基于websocket搭建简易聊天室实践。分享给大家供大家参考。具体如下:1、前言公司游戏里面有个简单的聊天室,了解了之
- 本文实例讲述了Python实现PS滤镜碎片特效功能。分享给大家供大家参考,具体如下:这里用 Python 实现 PS 滤镜中的碎片特效,这个
- 写一个循环删除的过程。 create or replace procedure delBigTab(p_TableName in varch
- 在进行matplotlib画图的时候,经常会出现这个的报错,虽然知道是因为没有对应的字体的原因,但是,将字体下载后放到目标路径下,仍然没有办
- import webbrowser as webimport timeimport oscount=0while count<10:&
- 在使用matplotlib绘制图片时,x轴的刻度可能比较密集,特别是以日期作为x轴时,则最后会显示不出来。数据如下,速度V的数组与时间字符串
- 关于带权随机数为了帮助理解,先来看三类随机问题的对比:1.已有n条记录,从中选取m条记录,选取出来的记录前后顺序不管。实现思路:按行遍历所有
- Session作用Session的根本作用就是在服务端存储用户和服务器会话的一些信息。典型的应用有:1、判断用户是否登录。2、购物车功能。s