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

相关推荐

  • 只顾埋头创业可还行?看看优秀创始人必备的8大能力

      8. 冒险,还是规避风险?(Take Risk or Minimize Risk?)   3. 善于“逆向正确思考”(Be a Contrarian)   2. 选择最佳创业“地点”(Location,Location,Location)   7. 坚持使命,还是聆听数据?(Vision or Data?)   LinkedIn的起步就是很好的例子。当时…

    创业分享 2023-05-28
    89
  • “太原市青年创新创业基地”开始认定了

    特别声明:以上文章内容仅代表作者本人观点,不代表新浪网观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与新浪网联系。   符合条件者,可发送本人及基地创业团队、企业基本情况等相关资料至邮箱tytswqnfzb@163.com,或拨打共青团太原市委207室青年发展部电话0351—3193196进行咨询报名。   申请认定太原市青年创新创业基…

    创业分享 2023-05-10
    136
  • 全球旅行创业 成都小夫妻年入近百万

    网恋、裸辞、全球旅行、夫妻创业……他们身上有太多鲜明标签。 “大家都看到我们粉丝多,却没看到我们背后无数个不眠夜,一帧一帧地研究热门视频。”牛肉姐说,现在的节奏比以前上班快2倍,虽然辛苦,但充实快乐。 如今,他们以夫妻档的形式,一边旅行,一边做自媒体。在新浪微博上,他们发布了1100多条微博,有178万的粉丝量。而这只是他们发布视频的十几个平台之一。 借助相…

    创业分享 2023-05-13
    95
  • 午评:沪指跌0.53% 创业板跌0.98%

    热点栏目 客户端   证券时报网   两市小幅低开,开盘之后大盘一度冲高,但是随后快速回落,创业板指一度跌逾1%,深成指、沪指跟跌,流感、口罩等病毒防治板块集体走弱,在线教育也出现分化,昨天大涨的光伏板块震荡盘整,磷化工板块表现强势,半导体概念股全线活跃,三大指数探底回升,全线翻红。截至午间收盘,上证指数报2911.35点,跌0.53%;创业板报2064.9…

    2023-05-12
    81
  • 东方富海陈玮:从自身投资经验谈创业者应具备的素质和那些应该绕

    东方富海陈玮:从自身投资经验谈创业者应具备的素质和那些应该绕开的坑 2017-09-10 01:29 来源:猎云网 搜狐 原标题:东方富海陈玮:从自身投资经验谈创业者应具备的素质和那些应该绕开的坑 【猎云网(微信号:ilieyun)深圳】9月10日报道(文/郭杨) “资本话题”一直以来都备受创投圈热议,每当谈到创业者应具备的素质与能力时,这些问题的答案也会成…

    创业分享 2023-05-21
    127

发表回复

登录后才能评论

联系我们

在线咨询: QQ交谈

邮件:362039258@qq.com

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