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

在Surface对象上绘制图形分为加载图片和绘制图片两个步骤。

(1)加载图片

加载图片即将图片读取到程序中,通过pygame中 image模块的load()方法可以向程序中加载图片,生成Surface对象。load()方法的声明如下:

load (filename) -> SurfaceimgSurf =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))                #绘制图片  ......

文章来源于:王晴儿网页设计博客 欢迎分享交流,转载请注明出处

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/262311.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
黑马程序员黑马程序员订阅用户
上一篇 2023年5月6日 23:43
下一篇 2023年5月6日 23:43

相关推荐

  • 今日分享python中elif的用法。

    在Python中,elif是else if的缩写,用于在一个条件语句中检查多个条件,当if语句的条件为假时,程序将执行elif语句块,如果所有elif语句都为假,程序将执行else语句块(如果有的话)。 elif语句的一般语法如下: if…

    2024年7月28日
    00
  • 小编教你python的逆序。

    在Python中,逆序函数通常指的是反转一个序列(如字符串、列表或元组)的操作,这种操作可以通过内置的函数或自定义的方法来实现,下面将详细介绍几种不同的逆序方法,并解释其工作原理和使用场景。 使用内置函数re…

    2024年7月23日
    00
  • 聊聊python字符串类型。

    Python字符串类型 在Python中,字符串是一种基本的数据类型,用于表示文本信息,字符串可以包含字母、数字、符号等字符,Python中的字符串是不可变的,这意味着一旦创建了一个字符串,就不能改变它的内容,本文将详…

    2024年7月26日
    01
  • 怎样创建隔离的Python开发环境?

    实际生产中同一项目的不同版本可能依赖不同的环境,这时需要在系统中安装多个版本的Python。若直接在物理环境中进行配置,多个版本的软件之间会产生干扰。为了避免这种情况,应使用virtualenv命令创建虚拟环境,以…

    2023年6月7日
    07
  • 小编分享python怎么算阶乘。

    在Python中,计算阶乘的方法有很多种,阶乘是一个数学概念,表示一个正整数n的阶乘(通常表示为n!)是所有小于或等于n的正整数的乘积,5的阶乘(5!)是1 * 2 * 3 * 4 * 5 = 120。 下面介绍几种在Python中计算阶乘的…

    2024年7月28日
    01
  • 关于python中绘图函数库的名称。

    Python中绘图函数 在Python中,有许多用于绘制图形的库和函数,这些库和函数可以帮助我们在数据分析、科学计算和机器学习等领域中进行可视化展示,本文将介绍一些常用的绘图函数及其使用方法。 Matplotlib Matplotl…

    2024年7月25日
    00
  • 聊聊python库中函数。

    Python库中函数 在Python编程世界里,库(Libraries)和函数(Functions)是构建应用程序的基础,库是预先编写好的代码集,这些代码为程序员提供了广泛的功能,从而无需从零开始编写每个功能,函数是组织好的、可重…

    2024年7月15日
    00
  • 我来分享python中a是多少。

    在Python中,变量a的值取决于它被赋予什么,由于Python是一种动态类型的语言,变量a可以引用任何类型的对象,包括数字、字符串、列表、字典等,下面将通过几个小节来介绍如何在Python中给变量a赋值,并讨论一些相关…

    2024年7月20日
    00

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息