网站首页 > 技术文章 正文
在Surface对象上绘制图形分为加载图片和绘制图片两个步骤。
(1)加载图片
加载图片即将图片读取到程序中,通过pygame中 image模块的load()方法可以向程序中加载图片,生成Surface对象。load()方法的声明如下:
load (filename) -> Surface
imgSurf =pygame.image.load('bg.jpg')
以上示例从当前路径下加载名为“bg.jpg”的图片(分辨率为640像素×480像素),并使用变量 imgSurf 保存生成的Surface对象。
(2)绘制图片
aPygame中绘制图像即将一个Surface对象叠加在另一个Surface对象之上,这类以于现实生活中不同尺寸纸质图形的堆叠。通过Surface对象的blit()方法可以实现图像绘制,blit()方法的语法如下:
blit (source, dest, area=None, special flags = 0) -> Rect
下面对blit()方法的参数进行说明。
·参数source接收被绘制的Surface对象。
·参数dest接收一个表示位置的元组,该元组指定left和top两个值,left和top
别表示图片距离窗口左边和顶部的距离。该参数亦可接收一个表示矩形的元组left,top,width,height)(left、top表示矩形的位置,width、height表示矩形的宽和高),矩形的位置作为绘制的位置。
·参数area是一个可选参数,通过该参数可设置矩形区域。若设置的矩形区域小source所设置Surface对象的区域,那么仅绘制Surface对象的部分内容。
·参数special flags是标志位。
使用blit()方法将加载生成的imgSurf对象绘制到窗口WINSET中,具体示例如下:
WINSET.blit(imgSurf, (0, 0) )
以上示例代码将imgSurf绘制到了窗口的(0,0)位置,由于被绘制的图片与窗尺寸一致,这里的操作等同于为窗口绘制了背景图片。
将绘制图片的代码添加到程序7_pg_test.py中,具体如下所示:
以上示例从当前路径下加载名为“bg.jpg”的图片(分辨率为640像素×480像素),并使用变量 imgSurf 保存生成的Surface对象。
(2)绘制图片
aPygame中绘制图像即将一个Surface对象叠加在另一个Surface对象之上,这类以于现实生活中不同尺寸纸质图形的堆叠。通过Surface对象的blit()方法可以实现图像绘制,blit()方法的语法如下:
blit (source, dest, area=None, special flags = 0) -> Rect
下面对blit()方法的参数进行说明。
·参数source接收被绘制的Surface对象。
·参数dest接收一个表示位置的元组,该元组指定left和top两个值,left和top
别表示图片距离窗口左边和顶部的距离。该参数亦可接收一个表示矩形的元组left,top,width,height)(left、top表示矩形的位置,width、height表示矩形的宽和高),矩形的位置作为绘制的位置。
·参数area是一个可选参数,通过该参数可设置矩形区域。若设置的矩形区域小source所设置Surface对象的区域,那么仅绘制Surface对象的部分内容。
·参数special flags是标志位。
使用blit()方法将加载生成的imgSurf对象绘制到窗口WINSET中,具体示例如下:
WINSET.blit(imgSurf, (0, 0) )
以上示例代码将imgSurf绘制到了窗口的(0,0)位置,由于被绘制的图片与窗尺寸一致,这里的操作等同于为窗口绘制了背景图片。
将绘制图片的代码添加到程序7_pg_test.py中,具体如下所示:
...
WINSET = pygame.display.set_mode((WINWIDTH, WINHEIGHT))
WINSET.fIL1
(BGCOLOR) #填充背景颜色
pygame.display.set_caption('数字推盘')
image = pygame,image.load('bg. jpg') #加载图片
WINSET.blit(image, (0, 0)) #绘制图片
...
...
猜你喜欢
- 2025-07-14 python-递归与lamdba与高阶函数(递归 python)
- 2025-07-14 从内存角度给测试人员介绍Python中的可变和不可变数据类型
- 2025-07-14 python中多态的作用是什么?(python的多态还有意义吗)
- 07-14Python数据重塑与清洗常用命令(python数据分析数据清洗)
- 07-14python文本分析与挖掘(一)-构建语料库
- 07-14Python GUI编程利器:Tkinker中的列表框和静态框(5)
- 07-14Python办公自动化系列课程2:Excel大体联数据匹配只需12行代码
- 07-14Python数据可视化Dash开源库Bootstrap信息提示框Alert
- 07-14python 数据处理库中库,增强pandas功能的库有什么特别之处
- 07-14学习编程第177天 python编程 富文本框text控件的使用
- 07-14从逗号到省略号,Python 标点符号用法大揭秘!看完少踩 90% 的坑!
- 277℃Python短文,Python中的嵌套条件语句(六)
- 277℃python笔记:for循环嵌套。end=""的作用,图形打印
- 274℃PythonNet:实现Python与.Net代码相互调用!
- 269℃Python实现字符串小写转大写并写入文件
- 268℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 127℃原来2025是完美的平方年,一起探索六种平方的算吧
- 114℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 108℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 最近发表
-
- Python数据重塑与清洗常用命令(python数据分析数据清洗)
- python文本分析与挖掘(一)-构建语料库
- Python GUI编程利器:Tkinker中的列表框和静态框(5)
- Python办公自动化系列课程2:Excel大体联数据匹配只需12行代码
- Python数据可视化Dash开源库Bootstrap信息提示框Alert
- python 数据处理库中库,增强pandas功能的库有什么特别之处
- 学习编程第177天 python编程 富文本框text控件的使用
- 从逗号到省略号,Python 标点符号用法大揭秘!看完少踩 90% 的坑!
- 一篇文章带你弄懂Python基础之列表介绍和循环遍历
- Python NumPy 数组形状操作(python数组类型)
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)