小工具知识网

当前位置: 首页 > 行业知识 > Pygame教程02:图片的加载+缩放+旋转+显示操作

行业知识

Pygame教程02:图片的加载+缩放+旋转+显示操作

2026-11-10 02:20:52 来源:互联网转载

------------★Pygame���列教程★------------

Pygame教程01:初识pygame游戏模块

Pygame教程02:图片的加载+缩放+旋转+显示操作

Pygame教程03:文本显示+字体加载+transform方法

Pygame教程04:draw方法绘制矩形、多边形、圆、椭圆、弧线、直线和线条等

本篇需要掌握的知识点:

1.学习基本的使用pygame.image.load加载图像文件(如PNG、JPG等),并screen.blit放在的指定显示位置。

2.转换图像格式:使用convert()或convert_alpha()方法转换Surface对象的像素格式。convert()用于优化图像,被转换为更高效的像素格式,而convert_alpha()则用于包含透明度的图像。

3.pygame.display.flip()和pygame.display.update()区别:例如,如果你有一个游戏,其中大部分背景是静态的,而只有一小部分区域(如玩家的位置)在不断地更新,那么使用 pygame.display.update() 只更新这部分区域会比使用 pygame.display.flip() 更新整个屏幕更加高效。

# 创建一个矩形对象,表示要更新的区域  update_rect = pygame.Rect(100, 100, 200, 200)  # 位置 (100, 100),大小 (200x200)  # 只更新 update_rect 指定的区域  pygame.display.update(update_rect)  # 使用 update() 更新特定区域 

4.pygame.transform模块提供了一些用于处理和变换图像的功能。这些功能包括缩放、旋转、裁剪等。

pygame.transform.scale()将图片缩放至指定的大小,并返回一个新的 Surface对象。

pygame.transform.rotate()将图片旋转至指定的角度。

pygame.transform.rotozoom()以角度旋转图像,同时将图像缩小或放大至指定的倍数。

pygame.transform.flip()函数来翻转图像。这个函数接受原始Surface对象和一个布尔值元组作为参数,用于指定是否在水平或垂直方向上翻转图像。

# 加载图像  image_path = 'path_to_your_image.png'  image_surface = pygame.image.load(image_path)    # 水平翻转图像  flipped_horizontally = pygame.transform.flip(image_surface, True, False)    # 垂直翻转图像  flipped_vertically = pygame.transform.flip(image_surface, False, True)

设置图像透明度:使用set_alpha()方法设置图像的透明度。透明度值以0到255之间的整数表示,其中0表示完全透明,255表示完全不透明。

# 加载图像  image_path = 'path_to_your_image.png'  image_surface = pygame.image.load(image_path)    # 设置图像的透明度为50%(半透明)  image_surface.set_alpha(128)
# @Author : 小红牛# 微信公众号:WdPythonimport pygame# 0.初始化Pygamepygame.init()# 设置窗口的大小screen = pygame.display.set_mode((600, 400))# 设置窗口的标题pygame.display.set_caption('Pygame图像显示的操作')# 1.加载图像# 替换为你的图像文件路径image_surface = pygame.image.load('哪吒.png')# 2.转换图像格式以优化性能image = image_surface.convert()# image = image_surface.convert_alpha()# 3.图像显示到屏幕左上角 (0, 0)指定位置screen.blit(image, (0, 0))# 4. 操作图片,获取宽高w, h = image.get_size()print('原图宽高: ', w, h)# 图片在右下角显示,屏幕的宽度-图宽screen.blit(image, (600-w, 400-h))# 5.缩放图像,scale(目标对象,缩放大小)scaled_surface = pygame.transform.scale(image, (80, 80))screen.blit(scaled_surface, (200, 60))# 6.旋转图像#  rotozoom(img目标对象, 旋转角度, 缩放大小)rotozoom_surface = pygame.transform.rotozoom(image, 30, 0.8)screen.blit(rotozoom_surface, (400, 20))# 倒立原图rotozoom_surface1 = pygame.transform.rotozoom(image, 180, 1)screen.blit(rotozoom_surface1, (0, 180))# 7.更新显示页面pygame.display.flip()# 游戏主循环while True:    # 处理事件队列    for event in pygame.event.get():        if event.type == pygame.QUIT:  # 如果用户点击了关闭按钮            exit()

完毕!!感谢您的收看

----------★★历史博文集合★★----------

Python入门篇 进阶篇 视频教程 Py安装

py项目 Python模块 Python爬虫 Json

Xpath 正则表达式 Selenium Etree Css

Gui程序开发 Tkinter Pyqt5 列表元组字典

数据可视化 matplotlib 词云图 Pyecharts

海龟画图 Pandas Bug处理 电脑小知识

office自动化办公 编程工具 NumPy Pygame

上一篇:ping怎么解析域名原理?

下一篇:U盘下载疑难杂症解析,一键解决无法下载的烦恼