How to insert an image in a canvas item?

Milky_Way picture Milky_Way · Mar 24, 2017 · Viewed 60.8k times · Source

I am working on a game project for school, which look like this : In-game aspect

 In-game aspect

I have created these colored polygons like this :

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')

So now i want to fill them with my own image. Is that possible ? And how ?

Answer

martineau picture martineau · Mar 24, 2017
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()