如何在画布项中插入图像?

Mil*_*Way 5 python tkinter tkinter-canvas

我正在为学校开展一个游戏项目,看起来像这样:游戏方面

 在游戏方面

我创建了这样的彩色多边形:

ship = can.create_polygon(410,650,450,600,490,650 , fill= 'red' , outline='black')

ennemies = can.create_rectangle(x-r, y-r, x+r, y+r, fill='green')
Run Code Online (Sandbox Code Playgroud)

所以现在我想用自己的形象填充它们.那可能吗 ?如何 ?

mar*_*eau 13

from tkinter import *

# create the canvas, size in pixels
canvas = Canvas(width=300, height=200, bg='black')

# pack the canvas into a frame/form
canvas.pack(expand=YES, fill=BOTH)

# load the .gif image file
gif1 = PhotoImage(file='small_globe.gif')

# put gif image on canvas
# pic's upper left corner (NW) on the canvas is at x=50 y=10
canvas.create_image(50, 10, image=gif1, anchor=NW)

# run it ...
mainloop()
Run Code Online (Sandbox Code Playgroud)

  • 我认为您不明白我想要做什么:我想在“canvas.create_rectangle”中插入图像,而不是在画布中。 (2认同)
  • @Milky_Way:您无法在矩形中插入图像.你当然可以在画布上放置一个矩形和一个图像,使矩形环绕图像.无论如何,第一步是使用`create_image`,如本答案所示. (2认同)
  • Milky_Way:没错,我误会了。由于图像是矩形的,因此您实际上不需要将它们放入矩形中。如果需要调整它们的大小,则可以使用兼容PIL模块的tkinter的[PIL.ImageTk.PhotoImage]](http://pillow.readthedocs.io/zh/4.0.x/reference/ImageTk。 html#PIL.ImageTk.PhotoImage)类,而不是`tkinter.PhotoImage`类。后者也可以用来读取和显示`tkinter`不直接支持的格式的图像文件。 (2认同)