Puedo copiar la imagen en Gimp y pegarla en el documento de OpenOffice.
¿Cómo hacerlo (copiar o pegar imagen) desde la línea de comando?
Puedo copiar la imagen en Gimp y pegarla en el documento de OpenOffice.
¿Cómo hacerlo (copiar o pegar imagen) desde la línea de comando?
Respuestas:
Como se encuentra aquí , la clave para pegar datos binarios en un archivo xclip
es decir qué tipos de medios tiene en el portapapeles. Para PNG puedes:
xclip -selection clipboard -t image/png -o > "`date '+%Y-%m-%d_%T'`.png"
O image/jpeg
y .jpg
para JPEG.
Así que ahora en mi ~/Dropbox/.mybashrc
agrego un alias (clipboard2photo) para pegar fácilmente en el archivo de imagen (tal vez algún día lo tengamos en Nautilus ).
Creo que la razón por la cual el script Leo Alekseyev no funciona a veces (en algunos sistemas) se explica en esta respuesta a una pregunta similar. Parte importante citada aquí:
Una rareza que es diferente de la mayoría de los otros sistemas: si el programa que posee la selección (portapapeles) desaparece, también lo hace la selección.
Cuando ejecuto el script de Leo en Python Shell, funciona, siempre y cuando el shell se esté ejecutando. Así que creo que los datos del portapapeles se pierden cuando finaliza el script. La solución publicada en la respuesta está funcionando para mí:
#!/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()
Actualización desde _Vi: para completar, agregar el portapapeles-> script de archivo:
#!/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", {})
El siguiente script python / pygtk hace el trabajo:
#!/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]);
(Fuente: http://ubuntuforums.org/showthread.php?t=1689889 )
Para usar esto, sudo apt-get install python pygtk
pegue el código anterior en un script, chmod +x
para que sea ejecutable, y debería estar listo.
wget http://upload.wikimedia.org/wikipedia/commons/d/d9/Test.png && ./test.py Test.png
donde test.py es exactamente lo que se pega aquí. Se pega bien en Gimp.