2017-04-18 6 views
0

私は単純なカードゲームに画像を取り込もうとしています.TkinterをPython 3.6で使用すると、結果が得られません。私はこの権利をしているかどうかはわかりませんが、見ています。Tkinterの画像(Macの場合)

from tkinter import * 

window = Tk() 
window.title('Test') 
canvas = Canvas(window, width = 500, height = 500) 
canvas.pack() 
myImage = PhotoImage(file='/Users/school/Documents/Python Projects/Images test/myImage.gif') 
canvas.create_image(0, 0, anchor = 100, image=myImage) 

私のイメージは単純なイメージなので、何が間違っているか分かりません。ご協力ありがとうございました!私はここでエラーを得るか

EDIT_tkinter.TclError: couldn't recognize data in image file "./myImage.gif" 私はそれを簡単にするために、この編集を作っています 再編集myImage.gif

をという名前のイメージを持っています。ここに私が今持っているコードがあります。

import tkinter 

root = tkinter.Tk() 
canvas = tkinter.Canvas(root) 
canvas.grid(row = 0, column = 0) 
root.title('Test') 
photo = tkinter.PhotoImage(file = 'myImage.gif') 
canvas.create_image(0, 0, image=photo) 
root.mainloop() 

と私のエラーが

Traceback (most recent call last): 
File "/Users/school/Documents/Python Projects/Images test/imageTest.py", line 7, in <module> 
photo = tkinter.PhotoImage(file = 'myImage.gif') 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/tkinter/__init__.py", line 3539, in __init__ 
Image.__init__(self, 'photo', name, cnf, master, **kw) 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/tkinter/__init__.py", line 3495, in __init__ 
self.tk.call(('image', 'create', imgtype, name,) + options) 
_tkinter.TclError: couldn't recognize data in image file "myImage.gif" 
+0

私はそれをクリアしました。もう一度見てください。 –

+0

新しいコードに 'file ='を二重にしました。 – Lafexlos

+0

もう一度編集してチェックしてください。 –

答えて

0

まあ、私は非常に愚かだった、と私自身の問題を発見しています。 .gifにpngのために使用していたコンバータに欠陥があり、実際の.gif画像ではありませんでした。ありがとうすべて

+1

コンバータを使用せず、PILライブラリを使用して直接pngを使用する – abccd

+0

私はPython 3.6を使用していますが、PILが3.6をサポートしているとは思われません。 –

+0

それは、ちょうどピローフォークを使用して、それはPython 3.xをサポートし、それはまったく同じです – abccd

関連する問題