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

相关推荐

  • 馅饼销量超3亿,多禾怎样引发中式快餐创业热潮?

    馅饼销量超3亿,多禾怎样引发中式快餐创业热潮? 2019-11-22 15:34:01      北国网   馅饼作为家常小吃,早已走进千家万户成为饭桌常备。如何让家常“不平常”,再以此为产品做出一番名堂?多禾馅饼经过匠心研发,推出秘制“烤馅饼”,在口感与口味上带给顾客更多惊喜体验。十多年来,多禾馅饼在工艺与…

    2023-05-12
    138
  • 这位93年“创业小子”,如何在经历了九十九次失败后走向成功

    2017年世界增强现实亚洲博览会上做主题演讲。   如果不是下课后手机上动辄显示的十几个未接电话,如果不是每天晚上雷打不动的电话会议,在别人看来付翰文只是一名普通的硕士研究生。   创业已有5个年头,从参加比赛到投身创业,从健身单车到VR硬件研发,创业路上起起伏伏,他曾经两次看着团队的小伙伴各奔东西,曾经把10万元大学生创业贷款花得一分不剩。在事业发展风生水…

    2023-05-18
    139
  • 2019年创业投资春季论坛进一步完善创业投资生态体系

      中国发展网 4月18日,国家发改委财金司司长陈洪宛同志带队赴深圳,参加深圳创业投资公会举办的2019年创业投资春季论坛,并就全面落实国务院创投“国十条”,进一步完善创业投资生态体系做演讲并指出,要牢牢把握“实体创投”原则,加快体制机制创新,建设高效的创业投资生态体系,进一步强化创业投资的地位和作用。   陈洪宛同志认为,当前我国经济由高速增长阶段转向高质…

    创业分享 2023-05-13
    211
  • 创业初期没有钱,该怎么继续下去,个人经验

    二、作为副业发展 一、公司学习 三、别听成功学 五、跟高人学习 四、学会自我投资 其实创业的个人投资也是很有必要的,我之前是不看书的,总是觉得创业干就行了,看书没什么用,但是我在进入自媒体圈子的时候,认识了很多自媒体大咖,他们给我建议就是,没事了买几本书给自己投资一下,我当抱着试试看的态度就开始每天看书,经过我看了一段时间的书我发现,真的看书能对人的思考和判…

    创业分享 2023-05-11
    135
  • 微微一笑很倾城创业攻略 最强CEO成名之路

    在微微一笑很倾城手游中,玩家们都记得大神肖奈的致一科技吧,以至于玩家也想成立自己的公司。今天小编就给玩家们带来一篇微微一笑很倾城创业攻略 最强CEO成名之路,一起来看看吧~ (本文为超好玩原创攻略,转载请注明出处) 公司系统 当玩家达到一定等级,会开启【公司】系统的引导。玩家可以花费100钻石,成立属于自己的公司,召集员工,不断发展,最终成为最强公司。当然,…

    2023-05-29
    118

发表回复

登录后才能评论

联系我们

在线咨询: QQ交谈

邮件:362039258@qq.com

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