tkinter, loading image error, TclError: couldn't recognize data in

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • defn noob

    tkinter, loading image error, TclError: couldn't recognize data in

    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(o bj.get(int(x), int(y)))

    print colors


    >>>
    True

    Traceback (most recent call last):
    File "C:/Python25/Progs/ImageVideoSearc h/imId.py", line 9, in
    <module>
    im = PhotoImage(file = 'C:/users/me/desktop/images/blob4.jpg')
    File "C:\Python25\li b\lib-tk\Tkinter.py", line 3270, in __init__
    Image.__init__( self, 'photo', name, cnf, master, **kw)
    File "C:\Python25\li b\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

    #2
    Re: tkinter, loading image error, TclError: couldn't recognize data



    defn noob 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')
    #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(o bj.get(int(x), int(y)))
    >
    print colors
    >
    >
    >
    True
    >
    Traceback (most recent call last):
    File "C:/Python25/Progs/ImageVideoSearc h/imId.py", line 9, in
    <module>
    im = PhotoImage(file = 'C:/users/me/desktop/images/blob4.jpg')
    File "C:\Python25\li b\lib-tk\Tkinter.py", line 3270, in __init__
    Image.__init__( self, 'photo', name, cnf, master, **kw)
    File "C:\Python25\li b\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 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

    Comment

    • Eric Brunel

      #3
      Re: tkinter, loading image error, TclError: couldn't recognize data in image file &quot;C:/users/me/desktop/images/blob4.jpg&quot;

      On Sun, 29 Jun 2008 13:34:37 +0200, defn noob <circularfunc@y ahoo.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/ImageVideoSearc h/imId.py", line 9, in
      <module>
      im = PhotoImage(file = 'C:/users/me/desktop/images/blob4.jpg')
      File "C:\Python25\li b\lib-tk\Tkinter.py", line 3270, in __init__
      Image.__init__( self, 'photo', name, cnf, master, **kw)
      File "C:\Python25\li b\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.zmz 5(17l8(%,5.Z*(9 3-965$l7+-'])"

      Comment

      Working...