Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

tkinter, loading image error, TclError: couldn't recognize data in image file "C:/users/me/desktop/images/blob4.jpg"

1,727 views
Skip to first unread message

defn noob

unread,
Jun 29, 2008, 7:34:37 AM6/29/08
to
from Tkinter import *
import os

master = Tk()
w = Canvas(master, width=800, height=600)

print os.path.exists('C:/me/saftarn/desktop/images/blob4.jpg')

im = PhotoImage(file = 'C:/users/saftarn/desktop/images/blob4.jpg')
#im = file = 'C:/users/me/desktop/images/blob4.jpg'
pic = w.create_image(0, 0, image = im, anchor = NW)

#image = open('C:/users/saftarn/desktop/images/blob.png')

colors = []
for x in range(1, 800):
for y in range(1, 600):
pic = w.find_closest(x, y)[0]
obj = objects[pic]
colors.append(obj.get(int(x), int(y)))

print colors

>>>
True

Traceback (most recent call last):
File "C:/Python25/Progs/ImageVideoSearch/imId.py", line 9, in
<module>
im = PhotoImage(file = 'C:/users/me/desktop/images/blob4.jpg')
File "C:\Python25\lib\lib-tk\Tkinter.py", line 3270, in __init__
Image.__init__(self, 'photo', name, cnf, master, **kw)
File "C:\Python25\lib\lib-tk\Tkinter.py", line 3226, in __init__
self.tk.call(('image', 'create', imgtype, name,) + options)
TclError: couldn't recognize data in image file "C:/users/me/desktop/
images/blob4.jpg"
>>>

it has worked before opening and displaying a file like this, anything
to do with python 2.52, upgraded from 2.5.1

Terry Reedy

unread,
Jun 29, 2008, 2:54:25 PM6/29/08
to pytho...@python.org

Did it work with that exact file? Have you tried other files that did
work with 2.5.1? The error comes from tcl/tk, not Python. I expect
that the version of tcl/tk delivered with 2.5.2 is exactly the same as
that delivered with 2.5.1, just to avoid such problems.

Note that even if one program displays a file it may still be slightly
corrupt and properly fail to display with another. If you have an image
editor, you might try opening and saving (different name) without changing.

tjr

Eric Brunel

unread,
Jun 30, 2008, 5:26:27 AM6/30/08
to
On Sun, 29 Jun 2008 13:34:37 +0200, defn noob <circul...@yahoo.se>
wrote:

> from Tkinter import *
> import os
>
> master = Tk()
> w = Canvas(master, width=800, height=600)
>
> print os.path.exists('C:/me/saftarn/desktop/images/blob4.jpg')
>
> im = PhotoImage(file = 'C:/users/saftarn/desktop/images/blob4.jpg')

[snip]


>>>>
> True
>
> Traceback (most recent call last):
> File "C:/Python25/Progs/ImageVideoSearch/imId.py", line 9, in
> <module>
> im = PhotoImage(file = 'C:/users/me/desktop/images/blob4.jpg')
> File "C:\Python25\lib\lib-tk\Tkinter.py", line 3270, in __init__
> Image.__init__(self, 'photo', name, cnf, master, **kw)
> File "C:\Python25\lib\lib-tk\Tkinter.py", line 3226, in __init__
> self.tk.call(('image', 'create', imgtype, name,) + options)
> TclError: couldn't recognize data in image file "C:/users/me/desktop/
> images/blob4.jpg"
>>>>
>
>
>
> it has worked before opening and displaying a file like this, anything
> to do with python 2.52, upgraded from 2.5.1

Did it? Because AFAIK, tcl/tk has never natively recognized any other
image format than PPM/PGM and GIF... No JPG, no PNG...
--
python -c "print ''.join([chr(154 - ord(c)) for c in
'U(17zX(%,5.zmz5(17l8(%,5.Z*(93-965$l7+-'])"

0 new messages