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
下一篇 2023-05-12 02:33:58

相关推荐

  • Java和Web前端哪个有发展前景?

    Java和Web前端都是当今技术行业里的热门岗位,岗位招聘需求量大,人才竞争度高,同学们掌握这两个岗位里其中任何一个的相关主流技术,都可以找到一份不错的职位。下面请允许笔者做一个简要的分析阐述: 一、Web前端 Web前端现在有个说法叫大前端,WEB即World WideWeb,意思是全球广域网,又叫做万维网,也就是我们传统概念里的互联网。Web前端工程师的…

    2023-05-12
    118
  • 熊晓鸽:创业不是每个人都要成为马云,成功是小概率的事情

    这么多年,Demo China有一点没有改变,就是项目的不断创新。过去二十年,中国很多成功创业公司的创新主要是在模式上,比如刚才做区块链的那位。周亚辉、盛希泰他们四个人都愿意花1个小时跟他交流,但实际上,他们肯定都是想利用这个时间跟他砍价。 他还提到,创业是一种生活方式,首先是你喜不喜欢它。不是每个人都要成为马云,不是每个人都要做成BAT这样的大公司。 再次…

    创业分享 2023-05-18
    135
  • 湖北文理学院校友创业英雄孙华回母校分享创业经验

    【学校概况】 湖北文理学院是省属全日制普通本科高等院校,位于全国历史文化名城、湖北省域副中心城市—襄阳市,地处中华民族智慧化身诸葛亮的故居—古隆中,校园三国历史文化景观和自然景观相得益彰。学校办学历史最早可以追溯到创办于1958年的襄阳师范专科学校;1966-1978年,武汉大学襄阳分校在此设立;1998年3月,襄阳师范高等专科学校、襄樊职业大学、襄樊教育&…

    创业分享 2023-05-18
    121
  • 创业板领军 A股全线反攻!谁能率先闯出下行通道?

    早早封死涨停,大涨8.97%,、电子团队表示,大基金二期或将首先关注已投入的企业和项目,重点关注存储芯片行业;对于设备领域,二期将对在刻蚀机、薄膜设备、测试设备和清洗设备等领域已布局企业保持高强度持续支持,推动龙头做大做强;此外,将加快开展光刻机等核心设备投资布局,填补一期空白。 美股三大股指期货下探回升   在近期美股巨震的过程中,美股三大股指期货的夜盘走…

    2023-05-11
    134
  • 婚外情伤害婚姻中的感情来获得婚外激情

    婚外情是个新兴的词汇,近几年才出现。它的传统说法叫做”通奸”。用婚姻法精神来解释就是拥有合法配偶而与他人发生不正当的两性关系的行为。该行为与我国一妻一夫制的婚姻制度是相悖的。社会学家把这种现象称为婚外爱情,即已婚夫妇在婚姻之外与其他异性之间存在的一种恋爱关系。 婚外恋是当今社会中的一个较普遍现象,大多数人对婚外恋持否定和反对态度。深圳…

    创业分享 2023-05-13
    103

发表回复

登录后才能评论

联系我们

在线咨询: QQ交谈

邮件:362039258@qq.com

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