-
pygame.gfxdraw
- pygame module for drawing shapes
— draw a pixel — draw a horizontal line — draw a vertical line — draw a line — draw a rectangle — draw a filled rectangle — draw a circle — draw an antialiased circle — draw a filled circle — draw an ellipse — draw an antialiased ellipse — draw a filled ellipse — draw an arc — draw a pie — draw a trigon/triangle — draw an antialiased trigon/triangle — draw a filled trigon/triangle — draw a polygon — draw an antialiased polygon — draw a filled polygon — draw a textured polygon — draw a Bezier curve 实验性的! :该接口可能会在以后的pyGame版本中更改或消失。如果您使用它,您的代码可能会与下一个pyGame发行版发生冲突。
在加载时,pyGame包不会自动导入gfxraw,因此必须显式导入才能使用。
import pygame import pygame.gfxdraw
对于所有函数,参数都是严格按位置排列的,坐标和半径都接受整数。这个
color
参数可以是以下格式之一:一个
(RGB)
三元组(元组/列表)一个
(RGBA)
四元组(元组/列表)
功能
rectangle()
和box()
将接受任何(x, y, w, h)
它们的序列rect
尽管如此,争论pygame.Rect
pygame object for storing rectangular coordinates 实例优先。要绘制已填充的抗锯齿形状,请首先使用抗锯齿(AA ) version of the function, and then use the filled (filled_ )版本。例如:
col = (255, 0, 0) surf.fill((255, 255, 255)) pygame.gfxdraw.aacircle(surf, x, y, 30, col) pygame.gfxdraw.filled_circle(surf, x, y, 30, col)
备注
对于线程,每个函数在调用的C部分期间释放GIL。
备注
请参阅
pygame.draw
pygame module for drawing shapes 用于替代绘制方法的模块。这个pygame.gfxdraw
模块不同于pygame.draw
pygame module for drawing shapes 它使用的API中的模块和可用的不同绘制函数。pygame.gfxdraw
包装名为sdl_gfx的库中的基本体,而不是使用修改后的版本。New in pygame 1.9.0.
- pygame.gfxdraw.pixel()¶
- draw a pixelpixel(surface, x, y, color) -> None
在给定曲面上的(x,y)位置绘制单个像素。
- pygame.gfxdraw.hline()¶
- draw a horizontal linehline(surface, x1, x2, y, color) -> None
绘制一条直水平线 (
(x1, y)
至(x2, y)
)在给定曲面上。没有封口。
- pygame.gfxdraw.vline()¶
- draw a vertical linevline(surface, x, y1, y2, color) -> None
画一条直线 (
(x, y1)
至(x, y2)
)在给定曲面上。没有封口。
- pygame.gfxdraw.line()¶
- draw a lineline(surface, x1, y1, x2, y2, color) -> None
画一条直线 (
(x1, y1)
至(x2, y2)
)在给定曲面上。没有封口。
- pygame.gfxdraw.rectangle()¶
- draw a rectanglerectangle(surface, rect, color) -> None
在给定曲面上绘制未填充的矩形。对于填充矩形,请使用
box()
。- 参数
- 返回
None
- 返回类型
NoneType
备注
这个
rect.bottom
和rect.right
对象的属性pygame.Rect
pygame object for storing rectangular coordinates 始终位于其实际边框外一个像素处。因此,这些值不会包含在图形中。
- pygame.gfxdraw.box()¶
- draw a filled rectanglebox(surface, rect, color) -> None
在给定曲面上绘制实心矩形。对于未填充的矩形,请使用
rectangle()
。- 参数
- 返回
None
- 返回类型
NoneType
备注
这个
rect.bottom
和rect.right
对象的属性pygame.Rect
pygame object for storing rectangular coordinates 始终位于其实际边框外一个像素处。因此,这些值不会包含在图形中。备注
这个
pygame.Surface.fill()
fill Surface with a solid color 方法同样适用于绘制填充矩形。事实上pygame.Surface.fill()
fill Surface with a solid color 在具有软件和硬件显示模式的某些平台上可以进行硬件加速。
- pygame.gfxdraw.circle()¶
- draw a circlecircle(surface, x, y, r, color) -> None
在给定曲面上绘制一个未填充的圆。对于实心圆圈,请使用
filled_circle()
。
- pygame.gfxdraw.aacircle()¶
- draw an antialiased circleaacircle(surface, x, y, r, color) -> None
在给定曲面上绘制未填充的抗锯齿圆。
- pygame.gfxdraw.filled_circle()¶
- draw a filled circlefilled_circle(surface, x, y, r, color) -> None
在给定曲面上绘制实心圆。对于未填充的圆圈,请使用
circle()
。
- pygame.gfxdraw.ellipse()¶
- draw an ellipseellipse(surface, x, y, rx, ry, color) -> None
在给定曲面上绘制未填充的椭圆。对于实心椭圆,请使用
filled_ellipse()
。
- pygame.gfxdraw.aaellipse()¶
- draw an antialiased ellipseaaellipse(surface, x, y, rx, ry, color) -> None
在给定曲面上绘制未填充的抗锯齿椭圆。
- pygame.gfxdraw.filled_ellipse()¶
- draw a filled ellipsefilled_ellipse(surface, x, y, rx, ry, color) -> None
在给定曲面上绘制实心椭圆。对于未填充的椭圆,请使用
ellipse()
。
- pygame.gfxdraw.arc()¶
- draw an arcarc(surface, x, y, r, start_angle, stop_angle, color) -> None
在给定曲面上绘制圆弧。对于其端点连接到其中心的圆弧,请使用
pie()
。这两个角度参数以度为单位,指示圆弧的开始和结束位置。该圆弧是从
start_angle
发送到stop_angle
。如果start_angle == stop_angle
,什么都不会被抽到- 参数
- 返回
None
- 返回类型
NoneType
备注
此函数使用 学位 在此期间,
pygame.draw.arc()
draw an elliptical arc 函数用法 弧度 。
- pygame.gfxdraw.pie()¶
- draw a piepie(surface, x, y, r, start_angle, stop_angle, color) -> None
在给定曲面上绘制未填充的饼图。馅饼是一种
arc()
将其端点连接到其中心。两个角度参数以度为单位,指示饼图的开始和停止位置。饼图是以顺时针方向从
start_angle
发送到stop_angle
。如果start_angle == stop_angle
,将从给定角度的中心位置画一条直线到半径的长度。
- pygame.gfxdraw.trigon()¶
- draw a trigon/triangletrigon(surface, x1, y1, x2, y2, x3, y3, color) -> None
在给定曲面上绘制未填充的三角(三角形)。对于填充的三角网格使用
filled_trigon()
。也可以使用以下命令绘制三角网
polygon()
例如:polygon(surface, ((x1, y1), (x2, y2), (x3, y3)), color)
- pygame.gfxdraw.aatrigon()¶
- draw an antialiased trigon/triangleaatrigon(surface, x1, y1, x2, y2, x3, y3, color) -> None
在给定曲面上绘制未填充的抗锯齿三角(三角形)。
也可以使用以下命令来绘制三角网线
aapolygon()
例如:aapolygon(surface, ((x1, y1), (x2, y2), (x3, y3)), color)
- pygame.gfxdraw.filled_trigon()¶
- draw a filled trigon/trianglefilled_trigon(surface, x1, y1, x2, y2, x3, y3, color) -> None
在给定曲面上绘制填充三角(三角形)。对于未填充的三角网格的使用
trigon()
。填充三角网格也可以使用以下命令绘制
filled_polygon()
例如:filled_polygon(surface, ((x1, y1), (x2, y2), (x3, y3)), color)
- pygame.gfxdraw.polygon()¶
- draw a polygonpolygon(surface, points, color) -> None
在给定曲面上绘制未填充的多边形。对于填充的多边形,请使用
filled_polygon()
。中的相邻坐标
points
参数以及第一个和最后一个点将由线段连接。例如,对于积分[(x1, y1), (x2, y2), (x3, y3)]
将从以下位置绘制线段(x1, y1)
至(x2, y2)
自(x2, y2)
至(x3, y3)
、和来自(x3, y3)
至(x1, y1)
。- 参数
- 返回
None
- 返回类型
NoneType
- 引发
ValueError -- 如果
len(points) < 3
(必须至少有3分)IndexError -- 如果
len(coordinate) < 2
(每个坐标必须至少有2个项目)
- pygame.gfxdraw.aapolygon()¶
- draw an antialiased polygonaapolygon(surface, points, color) -> None
在给定曲面上绘制未填充的抗锯齿多边形。
中的相邻坐标
points
参数以及第一个和最后一个点将由线段连接。例如,对于积分[(x1, y1), (x2, y2), (x3, y3)]
将从以下位置绘制线段(x1, y1)
至(x2, y2)
自(x2, y2)
至(x3, y3)
、和来自(x3, y3)
至(x1, y1)
。- 参数
- 返回
None
- 返回类型
NoneType
- 引发
ValueError -- 如果
len(points) < 3
(必须至少有3分)IndexError -- 如果
len(coordinate) < 2
(每个坐标必须至少有2个项目)
- pygame.gfxdraw.filled_polygon()¶
- draw a filled polygonfilled_polygon(surface, points, color) -> None
在给定曲面上绘制填充的多边形。对于未填充的多边形使用
polygon()
。中的相邻坐标
points
参数以及第一个和最后一个点将由线段连接。例如,对于积分[(x1, y1), (x2, y2), (x3, y3)]
将从以下位置绘制线段(x1, y1)
至(x2, y2)
自(x2, y2)
至(x3, y3)
、和来自(x3, y3)
至(x1, y1)
。- 参数
- 返回
None
- 返回类型
NoneType
- 引发
ValueError -- 如果
len(points) < 3
(必须至少有3分)IndexError -- 如果
len(coordinate) < 2
(每个坐标必须至少有2个项目)
- pygame.gfxdraw.textured_polygon()¶
- draw a textured polygontextured_polygon(surface, points, texture, tx, ty) -> None
在给定曲面上绘制带纹理的多边形。为了获得更好的性能,表面和纹理应该具有相同的格式。
到每像素Alpha曲面的每像素Alpha纹理blit将不同于
pygame.Surface.blit()
draw one image onto another 布利特。此外,每像素的Alpha纹理不能与每像素8位的目标一起使用。中的相邻坐标
points
参数以及第一个和最后一个点将由线段连接。例如,对于积分[(x1, y1), (x2, y2), (x3, y3)]
将从以下位置绘制线段(x1, y1)
至(x2, y2)
自(x2, y2)
至(x3, y3)
、和来自(x3, y3)
至(x1, y1)
。- 参数
- 返回
None
- 返回类型
NoneType
- 引发
ValueError -- 如果
len(points) < 3
(必须至少有3分)IndexError -- 如果
len(coordinate) < 2
(每个坐标必须至少有2个项目)
- pygame.gfxdraw.bezier()¶
- draw a Bezier curvebezier(surface, points, steps, color) -> None
在给定曲面上绘制一条贝塞尔曲线。
- 参数
- 返回
None
- 返回类型
NoneType
- 引发
ValueError -- 如果
steps < 2
ValueError -- 如果
len(points) < 3
(必须至少有3分)IndexError -- 如果
len(coordinate) < 2
(每个坐标必须至少有2个项目)
Edit on GitHub