Python中如何操作Surface对象绘制图形?

在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)) #绘制图片   … …

免责声明:文章内容来自互联网,本站仅作为分享,不对其真实性负责,如有侵权等情况,请与本站联系删除。
转载请注明出处:Python中如何操作Surface对象绘制图形? https://www.dachanpin.com/a/cyfx/10915.html

赞 (1)
上一篇 2023-05-12 02:32:58
Python开发:数字推盘游戏的动态效果绘制
下一篇 2023-05-12 02:33:58

相关推荐

  • 第一创业退出为创尔生物提供做市报价服务

      创尔生物目前属于创新层,于2015年3月2日开始做市转让。截止2018年6月30日,公司营业总收入9578.85万元,同比增长66.81%;净利润为3364.92万元,增长196.12%。   同花顺(300033)新三板讯 创尔生物9月3日公告称,第一创业(002797)将于9月4日起,退出为本公司提供做市报价服务。截止目前,创尔生物还有广州证券、广发…

    2023-05-16
  • 工科女博士的创业经:参赛是成本最低的尝试

    在电子科技大学的时候,黄山一直都是校园里的活跃分子。学校鼓励大学生创新创业,黄山大一大二的时候,就跟着师兄撰写计划书,参加各种比赛,也拿了很多奖,“作为一个学生,那个时候对自己的兴趣爱好和职业规划没有很好的理解,如果没有良好的平台引导,你是不知道自己想做什么和能做什么的。” 从大一到博士,创新创业的比赛一次次让她从学生的身份中脱离出来,“评委不会因为你是一名…

    创业分享 2023-05-14
  • 首届“海峡杯”(晋江)创新创业大赛项目海选正式启航

    项目海选报名时间从今日开始到11月中旬,并于11月下旬举办海选赛。共设奖金人民币302万元,单项奖金最高50万元,更有创业孵化服务、银行授信、资本对接、人才及团队政策等各种支持。具体详情可登陆大赛官网进行查询及网上报名。 本次大赛负责人表示,首届“海峡杯”(晋江)创新创业大赛旨在激发群众创新创业热情,吸引广大优秀“双创”人才创新创业,重点依托晋江的实体产业优…

    创业分享 2023-05-28
  • 第三届“中国创翼”创业创新大赛开幕

      本报北京4月2日电(赵兵、邓洁)由人社部联合国家发改委、科技部、共青团中央、中国残联举办的第三届“中国创翼”创业创新大赛日前拉开帷幕。   本届大赛以“创响新时代,共圆中国梦”为主题,以贯彻党的十九大关于“倡导创新文化”“鼓励创业带动就业”的精神和国家创新驱动发展战略、就业优先战略及人才强国战略,推进“大众创业、万众创新”为核心价值,突出参赛项目的社会价…

    创业分享 2023-05-19
  • 支持返乡创业 如何下好环境“先手棋”

      记者在采访中还了解到, 部分地区创业项目仍存在 “小且散” 的特点, 看上去 “遍地开花”, 实则缺乏顶层设计和统一规划,后续发展潜力、抵御风险能力较弱。   对此,中国社会科学院农村发展研究所研究员党国英指出: “返乡下乡创业不能走粗放发展之路, ‘村村点火’ ‘乡乡冒烟’, 这不仅不符合现实要求, 而且也会造成资源浪费、 不良竞争。” 他建议, 地方…

    创业分享 2023-05-16

发表回复

登录后才能评论

联系我们

在线咨询: QQ交谈

邮件:362039258@qq.com

工作时间:周一至周五,9:30-16:30,节假日休息