ディスク上のファイルからロードされたイメージである pygame のサーフェスに (任意の位置と長さの) 線を描画したいと思います。
誰かがこれを行うサンプルコードを教えてもらえますか?
これはあなたが求めていることをするはずです:
# 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))
通常、元の画像に描画することはありません。元の画像を取得するには、画像をリロードする必要があるためです (または、描画を開始する前に画像のコピーを作成します)。おそらく、実際に必要なのは次のようなものです。
# 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))
pygame のモジュール pygame.draw に関するヘルプ:
名前 pygame.draw - 図形を描画するための pygame モジュール
ファイル d:\program files\python25\lib\site-packages\pygame\draw.pyd
FUNCTIONS aaline(...) pygame.draw.aaline(Surface, color, startpos, endpos, blend=1): return Rect アンチエイリアス処理された細い線を描画します
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