-
pygame.gfxdraw
- pygame module for drawing shapes
—
place a pixel
—
draw a horizontal line
—
draw a vertical line
—
draw a rectangle
—
draw a box
—
draw a line
—
draw a circle
—
draw an arc
—
draw an anti-aliased circle
—
draw a filled circle
—
draw an ellipse
—
draw an anti-aliased ellipse
—
draw a filled ellipse
—
draw a pie
—
draw a triangle
—
draw an anti-aliased triangle
—
draw a filled trigon
—
draw a polygon
—
draw an anti-aliased polygon
—
draw a filled polygon
—
draw a textured polygon
—
draw a Bézier curve
EXPERIMENTAL!: meaning this API may change, or disappear in later pygame releases. If you use this, your code will break with the next pygame release.
Draw several shapes to a surface.
Most of the functions accept a color argument that is an
RGB
triplet. These can also accept anRGBA
quadruplet. The color argument can also be an integer pixel value that is already mapped to the Surface's pixel format.For all functions the arguments are strictly positional. Only integers are accepted for coordinates and radii.
For functions like rectangle that accept a rect argument any (x, y, w, h) sequence is accepted, though
pygame.Rect
pygame object for storing rectangular coordinates instances are preferred. Note that for apygame.Rect
pygame object for storing rectangular coordinates the drawing will not includeRect.bottomright
. The right and bottom attributes of a Rect lie one pixel outside of the Rect's boarder.To draw an anti aliased and filled shape, first use the aa* version of the function, and then use the filled version. For example
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)
Note that pygame does not automatically import pygame.gfxdraw, so you need to import pygame.gfxdraw before using it.
Threading note: each of the functions releases the GIL during the C part of the call.
The pygame.gfxdraw module differs from the draw module in the API it uses, and also the different functions available to draw. It also wraps the primitives from the library called SDL_gfx, rather than using modified versions.
New in pygame 1.9.0.
-
pygame.gfxdraw.
pixel
()¶ - place a pixelpixel(surface, x, y, color) -> None
Draws a single pixel onto a surface.
-
pygame.gfxdraw.
hline
()¶ - draw a horizontal linehline(surface, x1, x2, y, color) -> None
Draws a straight horizontal line on a Surface from x1 to x2 for the given y coordinate.
-
pygame.gfxdraw.
vline
()¶ - draw a vertical linevline(surface, x, y1, y2, color) -> None
Draws a straight vertical line on a Surface from y1 to y2 on the given x coordinate.
-
pygame.gfxdraw.
rectangle
()¶ - draw a rectanglerectangle(surface, rect, color) -> None
Draws the rectangle edges onto the surface. The given Rect is the area of the rectangle.
Keep in mind the
Surface.fill()
method works just as well for drawing filled rectangles. In fact theSurface.fill()
can be hardware accelerated on some platforms with both software and hardware display modes.
-
pygame.gfxdraw.
box
()¶ - draw a boxbox(surface, rect, color) -> None
Draws a box (a rect) onto a surface.
-
pygame.gfxdraw.
line
()¶ - draw a lineline(surface, x1, y1, x2, y2, color) -> None
Draws a straight line on a Surface. There are no endcaps.
-
pygame.gfxdraw.
circle
()¶ - draw a circlecircle(surface, x, y, r, color) -> None
Draws the edges of a circular shape on the Surface. The pos argument is the center of the circle, and radius is the size. The circle is not filled with color.
-
pygame.gfxdraw.
arc
()¶ - draw an arcarc(surface, x, y, r, start, end, color) -> None
Draws an arc onto a surface.
-
pygame.gfxdraw.
aacircle
()¶ - draw an anti-aliased circleaacircle(surface, x, y, r, color) -> None
Draws the edges of an anti aliased circle onto a surface.
-
pygame.gfxdraw.
filled_circle
()¶ - draw a filled circlefilled_circle(surface, x, y, r, color) -> None
Draws a filled circle onto a surface. So the inside of the circle will be filled with the given color.
-
pygame.gfxdraw.
ellipse
()¶ - draw an ellipseellipse(surface, x, y, rx, ry, color) -> None
Draws the edges of an ellipse onto a surface.
-
pygame.gfxdraw.
aaellipse
()¶ - draw an anti-aliased ellipseaaellipse(surface, x, y, rx, ry, color) -> None
Draws anti aliased edges of an ellipse onto a surface.
-
pygame.gfxdraw.
filled_ellipse
()¶ - draw a filled ellipsefilled_ellipse(surface, x, y, rx, ry, color) -> None
Draws a filled ellipse onto a surface. So the inside of the ellipse will be filled with the given color.
-
pygame.gfxdraw.
pie
()¶ - draw a piepie(surface, x, y, r, start, end, color) -> None
Draws a pie onto the surface.
-
pygame.gfxdraw.
trigon
()¶ - draw a triangletrigon(surface, x1, y1, x2, y2, x3, y3, color) -> None
Draws the edges of a trigon onto a surface. A trigon is a triangle.
-
pygame.gfxdraw.
aatrigon
()¶ - draw an anti-aliased triangleaatrigon(surface, x1, y1, x2, y2, x3, y3, color) -> None
Draws the anti aliased edges of a trigon onto a surface. A trigon is a triangle.
-
pygame.gfxdraw.
filled_trigon
()¶ - draw a filled trigonfilled_trigon(surface, x1, y1, x2, y2, x3, y3, color) -> None
Draws a filled trigon onto a surface. So the inside of the trigon will be filled with the given color.
-
pygame.gfxdraw.
polygon
()¶ - draw a polygonpolygon(surface, points, color) -> None
Draws the edges of a polygon onto a surface.
-
pygame.gfxdraw.
aapolygon
()¶ - draw an anti-aliased polygonaapolygon(surface, points, color) -> None
Draws the anti aliased edges of a polygon onto a surface.
-
pygame.gfxdraw.
filled_polygon
()¶ - draw a filled polygonfilled_polygon(surface, points, color) -> None
Draws a filled polygon onto a surface. So the inside of the polygon will be filled with the given color.
-
pygame.gfxdraw.
textured_polygon
()¶ - draw a textured polygontextured_polygon(surface, points, texture, tx, ty) -> None
Draws a textured polygon onto a surface.
A per-pixel alpha texture blit to a per-pixel alpha surface will differ from a
Surface.blit()
blit. Also, a per-pixel alpha texture cannot be used with an 8-bit per pixel destination.
-
pygame.gfxdraw.
bezier
()¶ - draw a Bézier curvebezier(surface, points, steps, color) -> None
Draws a Bézier curve onto a surface.
-
Edit on GitHub