On Jun 11, 9:07 am, "exhuma.twn" <[EMAIL PROTECTED]> wrote: > On Jun 11, 3:47 pm, [EMAIL PROTECTED] wrote: > > > > > On Jun 11, 7:23 am, "exhuma.twn" <[EMAIL PROTECTED]> wrote: > > > > As many might know, windows allows to copy an image into the clipboard > > > by pressing the "Print Screen" button on the keyboard. Is it possible > > > to paste such an image from the clipboard into a "Text" widget in > > > Tkinter? Here is my first attempt with just trying to print out the > > > image data: > > > > ----------------- > > > def pasteImg(tgt): > > > global clipboardEnabled > > > if not clipboardEnabled: return > > > > win32clipboard.OpenClipboard(0) > > > print win32clipboard.GetClipboardData() > > > win32clipboard.CloseClipboard() > > > ----------------- > > > > This works fine with selecting text, but comes up with the following > > > error when trying to paste an image: > > > > ----------------- > > > Exception in Tkinter callback > > > Traceback (most recent call last): > > > File "C:\Python25\lib\lib-tk\Tkinter.py", line 1403, in __call__ > > > return self.func(*args) > > > File "X:\development\testing\tkwiki\tkwiki.py", line 52, in <lambda> > > > Button( root, command=lambda: pasteImg(txt) ).pack() > > > File "X:\development\testing\tkwiki\tkwiki.py", line 38, in pasteImg > > > print win32clipboard.GetClipboardData() > > > TypeError: Specified clipboard format is not available > > > ----------------- > > > > Obviously the clipboard does not know about that format. Does that > > > mean I have to wait until it's implemented or are there other ways to > > > access the image data? > > > I don't think you can paste to a text widget, but I could be mistaken. > > This link talks about pasting an image into a window, but I don't > > think it's really what you want...however, it might give you some > > ideas: > > >http://effbot.org/zone/wck-3.htm(see the "Drawing Images" section) > > > This link also talks about some of the same > > things:http://www.wadsworth.org/spider_doc/spider/docs/python/spipylib/tkint... > > > If I understand them correctly, it sounds like you could possibly > > catch the the paste operation and convert the image to a TkImage and > > then paste it. I think that since it is in the clipboard, then it is a > > file object and this may work. I just don't know how you intercept a > > paste. > > > Mike > > Unfortunately, when they talk about "pasting" they talk about a PIL > method called paste, which (if I understood correctly) deals with > blitting one image onto another. Not "pasting" as in copy/paste from > clipboard.
I don't do much with images as of yet, but from what I've read, it seems that blitting is a common method. Here's a fairly interesting article on the process using wxPython (sorry...I wasn't finding anything under Tkinter): http://wiki.wxpython.org/index.cgi/WorkingWithImages It might give some ideas. Mike -- http://mail.python.org/mailman/listinfo/python-list