How to draw lines on the background of an image in pygame

I would like to draw lines (arbitrary position and length) on a surface in pygame, which itself is an image loaded from a file on disk.

Can anyone point me to some example code that does this?

+1


source to share


2 answers


This should do what you are asking for:

# load the image
image = pygame.image.load("some_image.png")

# draw a yellow line on the image
pygame.draw.line(image, (255, 255, 0), (0, 0), (100, 100))

      



You usually don't paint on the original image, as you'll have to reload the image to get the original back (or create a copy of it before you start painting on it). Perhaps you really need something more:

# initialize pygame and screen
import pygame
pygame.init()
screen = pygame.display.set_mode((720, 576))

# Draw the image to the screen
screen.blit(image, (0, 0))

# Draw a line on top of the image on the screen
pygame.draw.line(screen, (255, 255, 255), (0, 0), (50, 50))

      

+2


source


Reference for pygame.draw module in pygame:

NAME pygame.draw - pygame module for drawing shapes

FILE d: \ program files \ python25 \ lib \ site-packages \ pygame \ draw.pyd



FUNCTIONS aaline (...) pygame.draw.aaline (Surface, color, startpos, endpos, blend = 1): return Rect draw lovely anti-aliased lines

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

arc(...)
    pygame.draw.arc(Surface, color, Rect, start_angle, stop_angle, width=1): return Rect
    draw a partial section of an ellipse

circle(...)
    pygame.draw.circle(Surface, color, pos, radius, width=0): return Rect
    draw a circle around a point

ellipse(...)
    pygame.draw.ellipse(Surface, color, Rect, width=0): return Rect
    draw a round shape inside a rectangle

line(...)
    pygame.draw.line(Surface, color, start_pos, end_pos, width=1): return Rect
    draw a straight line segment

lines(...)
    pygame.draw.lines(Surface, color, closed, pointlist, width=1): return Rect
    draw multiple contiguous line segments

polygon(...)
    pygame.draw.polygon(Surface, color, pointlist, width=0): return Rect
    draw a shape with any number of sides

rect(...)
    pygame.draw.rect(Surface, color, Rect, width=0): return Rect
    draw a rectangle shape

      

0


source







All Articles