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中,可以使用Selenium库从软件界面抓取数据。首先需要安装Selenium库和相应的浏览器驱动,然后编写代码来定位元素并获取数据。 在Python中,我们可以使用多种库和技术从软件界面抓取数据,这些技术包括使用…

    2024年7月8日
    00
  • 我来教你python实现问号表达式()的方法。

    Python实现问号表达式的方法是通过使用正则表达式库re,通过re.compile()函数编译一个正则表达式对象,然后使用对象的search()或match()方法进行匹配。 问号表达式(也称为三目运算符)是Python中的一种简洁的条件…

    2024年7月14日
    00
  • 我来教你python如何看內置函数。

    您可以使用以下方法查看Python内置函数:,- 在交互式的命令行环境里,可通过如下方法查看 BIF:, – dir(__builtins__), – import builtins, – Python2 无 module builtins dir(builtins), &#…

    2024年7月11日
    00
  • 经验分享python中减法函数。

    在Python中,减法操作是一种基本的算术运算,用于计算两个数值之间的差值,Python提供了多种方式来实现减法操作,包括使用算术运算符、内置函数和自定义函数等。 1、使用算术运算符 Python中的减法运算符是"-&…

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

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

    2024年7月15日
    00
  • python 函数传引用。

    在Python中,函数参数的传递方式是一个常见的讨论话题,不同于一些其他编程语言(如C或C++),Python总是通过引用传递对象,这意味着当你将一个变量作为参数传递给函数时,函数实际上接收的是对象的引用,而不是对…

    2024年7月27日
    00
  • 经验分享python怎么输入π。

    在Python中,输入π(圆周率)有多种方法,以下是详细的技术介绍和示例代码。 1. 使用math库的pi常量 Python的标准库math提供了一个名为pi的常量,可以直接用于计算,这是最简单且常用的方法。 import math print(ma…

    2024年7月22日
    00
  • 说说python怎么取整。

    在Python中,取整操作可以通过几种不同的方法来实现,具体取决于你希望如何处理小数部分,以下是一些常用的取整方法: 1、使用内置的int()函数 这是最直接的取整方法。int()函数会将一个浮点数转换为一个整数,但它…

    2024年7月14日
    01

联系我们

QQ:951076433

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