Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to insert an image in a canvas item?

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 ?

like image 381
Milky_Way Avatar asked Mar 24 '17 21:03

Milky_Way


1 Answers

try:
    import tkinter as tk
    from tkinter.constants import *
except ImportError:  # Python 2.x
    import Tkinter as tk
    from Tkconstants import *

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

# Pack the canvas into the Frame.
canvas.pack(expand=YES, fill=BOTH)

# Load the .gif image file.
gif1 = tk.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...
tk.mainloop()
like image 139
martineau Avatar answered Sep 23 '22 00:09

martineau