2017-09-24 20 views
0

캔버스 위젯을 사용하여 tkinterpython 3.5을 사용하여 간단한 게임을 만들려고합니다. 이 게임에서는 투명 (png) 이미지를 사용할 수 있어야합니다.tinter 캔버스 파이썬에 png 이미지 그리기

from PIL import ImageTk 
from tkinter import Tk, Canvas 

root = Tk() 
im = ImageTk.PhotoImage(file="test.png") 
canvas = Canvas(root, width=900, height=900) 
canvas.pack() 
canvasImage = canvas.create_image(0, 0, image=im, anchor="nw") 
root.mainloop() 

문제가 오류를 받고 없습니다에도 불구하고 나는 배경이 투명한 이미지를로드 할 수 없습니다하지만 난 더 투명 배경 PNG 이미지를로드 할 수 있다는 것입니다 : 여기 내 코드입니다.

답변

0

이 작업을 시도해야합니다 :

from tkinter import * 
root = Tk() 
canvas = Canvas(root, width=500, height=500) 
canvas.pack() 
img = PhotoImage(file='path/your_image.png') 
canvas.create_image(250, 250, image=img) 
root.mainloop() 

출력 here

+0

대신 와일드 카드 가져 오기가 괜찮이 경우 tk' –

+0

@Coal_로'수입은 Tkinter를 수행 와일드 카드 가져 오기를 사용하지 마십시오; 결코 그것을 사용하지 않는 담요 규칙이 아닙니다. – SneakyTurtle

+0

이 특별한 경우에 동의하지만, 확장 가능 코드베이스가 있어야하며 많은 상호 의존성이 필요한 경우 와일드 카드 가져 오기가 끔찍합니다. 이제는 나중에 모든 객체에'tk '를 붙이는 것보다 더 쉽게 잊어 버릴 수 있습니다. –