I can copy image in Gimp and paste it to OpenOffice document.
How to do it (copy or paste image) from command line?
Super User is a question and answer site for computer enthusiasts and power users. It only takes a minute to sign up.
Sign up to join this communityI can copy image in Gimp and paste it to OpenOffice document.
How to do it (copy or paste image) from command line?
As found here, the key to paste binary data to a file with xclip
is to tell what Media Types you have on clipboard. For PNG you can:
xclip -selection clipboard -t image/png -o > "`date '+%Y-%m-%d_%T'`.png"
Or image/jpeg
and .jpg
for JPEG.
So now on my ~/Dropbox/.mybashrc
I add an alias (clipboard2photo) to easly paste to image file (maybe someday we'll have it on Nautilus).
I believe the reason why Leo Alekseyev script does not work sometimes (on some systems) is explained in this answer to a similar question. Important part quoted here:
One oddity that is different from most other systems: if the program owning the selection (clipboard) goes away, so does the selection.
When i run Leo's script in python shell, it is working, as long as the shell is running. So i think the clipboard data is lost, when the script is terminated. The solution posted in the answer, is working for me:
#!/usr/bin/env python
import gtk
import sys
count = 0
def handle_owner_change(clipboard, event):
global count
print 'clipboard.owner-change(%r, %r)' % (clipboard, event)
count += 1
if count > 1:
sys.exit(0)
image = gtk.gdk.pixbuf_new_from_file(sys.argv[1])
clipboard = gtk.clipboard_get()
clipboard.connect('owner-change', handle_owner_change)
clipboard.set_image(image)
clipboard.store()
gtk.main()
Update from _Vi: For completeness, adding the clipboard->file script:
#!/usr/bin/python
import gtk, pygtk
pygtk.require('2.0')
import sys, os
clipboard = gtk.clipboard_get()
img = clipboard.wait_for_image()
img.save(sys.argv[1], "png", {})
The following python/pygtk script does the job:
#!/usr/bin/python
import gtk, pygtk
pygtk.require('2.0')
import sys, os
def copy_image(f):
assert os.path.exists(f), "file does not exist"
image = gtk.gdk.pixbuf_new_from_file(f)
clipboard = gtk.clipboard_get()
clipboard.set_image(image)
clipboard.store()
copy_image(sys.argv[1]);
(Source: http://ubuntuforums.org/showthread.php?t=1689889)
To use this, sudo apt-get install python pygtk
, paste the above code into a script, chmod +x
to make executable, and you should be good to go.
wget http://upload.wikimedia.org/wikipedia/commons/d/d9/Test.png && ./test.py Test.png
, where test.py is exactly what's pasted here. Pastes fine into Gimp.
Dec 15, 2011 at 14:34