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开发工具有哪些(系统开发工具介绍)。

    常用的python开发工具有pycharm和什么? 1、Sublime Text Sublime Text是在开发者群体中最流行的编辑器之一,它功能丰富、支持多种语言、有自己的包管理器,开发者可通过包管理器安装组件、插件和额外的样式,以提升…

    2024年7月24日
    01
  • 说说python 主函数传参。

    在Python中,主函数通常指的是程序的入口点,也就是main()函数,当我们需要向主函数传递参数时,可以通过命令行参数、配置文件或直接在代码中指定等方式实现,下面我将详细介绍如何通过命令行参数向Python主函数传…

    2024年7月20日
    00
  • 我来说说python前缀和函数。

    Python前缀和函数 在计算机科学中,前缀和(Prefix Sum)是一种常用的算法技巧,用于加速数组区间的求和运算,前缀和的基本思想是将原数组中的每个元素与其前面的所有元素相加,得到一个新的数组,这样,新数组中的…

    2024年7月20日
    00
  • 聊聊python中列表变量。

    Python中的列表变量 Python中的列表是一种有序的集合,可以随时添加和删除其中的元素,它是Python中最基本的数据结构之一,可以作为一个方括号内的逗号分隔值出现,列表是可变的,这意味着你可以改变一个列表的内容…

    2024年7月25日
    00
  • 小编教你python中%d的用法。

    在Python中,%d是一种字符串格式化操作符,用于将整数插入到字符串中,这种操作符通常与%一起使用,%后面跟着一个或多个由%和格式代码组成的元素,格式代码是一个字符,用于指定应如何格式化值,在这种情况下,%d是…

    2024年7月24日
    00
  • 关于python中进行注释。

    Python中进行注释 在编写程序时,为了帮助他人或未来的自己理解代码的功能和逻辑,通常需要在代码中添加注释,在Python中,有两种类型的注释:单行注释和多行注释。 1、单行注释 在Python中,使用井号()来表示单…

    2024年7月19日
    01
  • python判断绝对路径。

    在Python中,我们可以使用os模块的os.path.exists()函数来判断一个路径是否存在,这个函数接受一个路径作为参数,如果路径存在,它将返回True,否则返回False。 我们需要导入os模块: import os 我们可以使用os.path…

    2024年6月20日
    00
  • python如何做随机。

    在Python中,实现随机操作是非常直接和简单的,Python标准库中的random模块提供了一系列函数来生成随机数,以下是关于如何在Python中进行随机操作的详细介绍。 随机整数 要生成一个指定范围内的随机整数,可以使用r…

    2024年7月28日
    00

联系我们

QQ:951076433

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