Pygame的draw模块介绍

    科技2025-09-07  33

    本文将主要介绍Pygame的draw模块,主要内容翻译自pygame的官方文档 http://www.pygame.org/docs/ref/draw.html

    先从整体来看pygame.draw有哪些函数:

    函数用法pygame.draw.rect绘制矩形pygame.draw.polygon绘制任意边数的多边形pygame.draw.circle绘制圆pygame.draw.ellipse在矩形内绘制椭圆pygame.draw.arc绘制圆弧(或者椭圆的一部分)pygame.draw.line绘制直线(线段)pygame.draw.lines从一个点列表中连续绘制直线段pygame.draw.aaline绘制一根平滑的线(反锯齿)pygame.draw.aalines绘制一系列平滑的线

    函数原型:

    1、pygame.draw.rect   原型:pygame.draw.rect(Surface, color, Rect, width=0): return Rect   用途:在Surface上绘制矩形,第二个参数是线条(或填充)的颜色,第三个参数Rect的形式是((x, y), (width, height)),表示的是所绘制矩形的区域,其中第一个元组(x, y)表示的是该矩形左上角的坐标,第二个元组 (width, height)表示的是矩形的宽度和高度。width表示线条的粗细,单位为像素;默认值为0,表示填充矩形内部。   此外,Surface.fill 同样可以用来绘制填充矩形。 2、pygame.draw.polygon   原型:pygame.draw.polygon(Surface, color, pointlist, width=0): return Rect   用途:polygon是多边形,这个函数和rect类似,除了第三个参数。顾名思义,pointlist是一个坐标点的列表,表示多边形的各个顶点。 3、pygame.draw.circle   原型:pygame.draw.circle(Surface, color, pos, radius, width=0): return Rect   用途:用于绘制圆形。第三个参数pos是圆心的位置坐标,radius指定了圆的半径。 4、pygame.draw.ellipse   原型:pygame.draw.ellipse(Surface, color, Rect, width=0): return Rect   用途:ellipse是椭圆形,这个函数在矩形 Rect 内部绘制一个内接椭圆。 5、pygame.draw.arc   原型:pygame.draw.arc(Surface, color, Rect, start_angle, stop_angle, width=1): return Rect   用途:绘制一段圆弧,或者其实是上面提到的椭圆的一部分。与ellipse函数相比,多了两个参数:start_angle是该段圆弧的起始角度,stop_angle是终止角度。这两个都是用弧度制来表示的,而原点就是矩形Rect的中心。在Rect平面上建立坐标系,原点是中心,简单示意图如下。0弧度的起点是右边的中点处。 6、pygame.draw.line   原型:pygame.draw.line(Surface, color, start_pos, end_pos, width=1): return Rect

    用途:绘制直线段,start_pos 和 end_pos 分别表示起始点和终止点,用坐标表示。width为线条宽度,默认为1. 线条两端自然结束,没有明显的端点(如实心黑点)。

    7、pygame.draw.lines

    原型:pygame.draw.lines(Surface, color, closed, pointlist, width=1): return Rect

    用途:用于绘制一系列直线段。closed是一个布尔变量,如果closed为真,那么表示需要把第一点和最后一点连接起来。这些点来自pointlist,一个包含坐标点的列表。这个函数不会绘制线条的端点,也没有斜角连接(miter joints),而且角度小和线条粗的连线看起来会有点奇怪( Lines with sharp corners and wide line widths can have improper looking corners.)。

    8、pygame.draw.aaline

    原型:pygame.draw.aaline(Surface, color, startpos, endpos, blend=1): return Rect

    用途:绘制一条平滑的(消除锯齿)直线段。

    9、pygame.draw.aalines

    原型:pygame.draw.aalines(Surface, color, closed, pointlist, blend=1): return Rect

    用途:绘制连续的抗锯齿线段。该函数还有上面的aaline的用法和前两个类似。

    Processed: 0.010, SQL: 9