行业介绍
Python中如何操作Surface对象绘制为什么形?
2023-02-25 17:41  浏览:279

在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((WINWTH, WINHEIGHT))  WINSET.fIL1   (BGCOLOR) #填充背景颜色  pygame.display.set_caption('数字推盘')   image = pygame,image.load('bg. jpg') #加载支持  WINSET.blit(image, (0, 0)) #绘制支持  ......