2016-11-03 11 views
0

イメージをキャンバスにpythonで読み込もうとしています。しかし、私はエラーを取得しています:TclErrorを:画像ファイル内のデータを認識しませんでした「C:\ testimage \ spongesea.jpg」イメージをPythonで読み込めません

import Tkinter 
from Tkinter import * 
import time 
import inspect 
import os 
from PIL import Image, ImageTk 

class game_one: 

    def __init__(self): 

     global root 
     global canvas_one 
     root = Tk() 
     root.title(" Thanks Josh Dark 
     canvas_one = Tkinter.Canvas(root, bg="BLACK") 
     canvas_one.pack(expand= YES, fill= BOTH) 
     canvas_one.focus_set() #allows keyboard events 
     p = PhotoImage(file="C:\testimage\spongesea.jpg") 
     canvas_one.create_image(0, 0, image = p, anchor=NW) 
     root.grab_set()#I forget what this does. Don't change it. 
     root.lift()#This makes root appear in front of the other applications 

ObjectExample = game_one()# starts the animation 

私は、ファイルから手動で画像を開くことができますので、それが破損していません正しい場所を呼び出しています。何か案は?ありがとう

+0

多くの言語で\は文字列で特別な意味を持ちます。 '\ t'は' tab'を意味し、 '\ t'はパスにあります。 \\( '" C:\\ ... \\ ... "')や '/'( '' C:/ .../... "')やプリフィックス 'r'の生の文字列 - 'r" C:\ ... \ ... "' – furas

答えて

1

PhotoImageは、GIFPGM/PPMでのみ動作します。

あなたは他のフォーマットところで

from PIL import Image, ImageTk 

image = Image.open("lenna.jpg") 
photo = ImageTk.PhotoImage(image) 

で動作するようにImageImageTkを使用する必要があります。PhotoImageを読み、ノートに「ガベージコレクションの問題」を参照してください。

+0

ありがとうございました。今働いている –

関連する問題