如何在Linux中从命令行将图片复制到剪贴板?


14

我可以在Gimp中复制图像并将其粘贴到OpenOffice文档中。

如何从命令行执行(复制或粘贴图像)?


过去“从命令行从剪贴板粘贴”是什么意思?可能是相同的,但仅适用于拷贝:unix.stackexchange.com/questions/30093/...
西罗桑蒂利新疆改造中心法轮功六四事件

Answers:


5

如此处所示,将二进制数据粘贴到文件中的关键xclip是告诉剪贴板上有哪些媒体类型。对于PNG,您可以:

xclip -selection clipboard -t image/png -o > "`date '+%Y-%m-%d_%T'`.png"

image/jpeg并且.jpg对于JPEG。

所以现在在我上~/Dropbox/.mybashrc添加一个别名(clipboard2photo)轻松粘贴到图像文件(也许有一天我们会在Nautilus上使用它)。


如第一个链接中所述:注意:一些研究表明,您需要SVN修订版81(自2010年4月起)或更高版本的xclip才能具有必需的-t选项。或自己应用补丁
i336_

7

我相信这个类似问题的答案解释了为什么Leo Alekseyev脚本有时(在某些系统上)不起作用的原因。重要部分在这里引用:

与大多数其他系统不同的一个奇怪之处是:如果拥有选择(剪贴板)的程序消失了,那么选择也消失了。

当我在python shell中运行Leo的脚本时,只要该shell正在运行,它就可以正常工作。所以我认为当脚本终止时剪贴板数据会丢失。答案中发布的解决方案对我有用:

#!/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()

从_Vi更新:为完整起见,添加剪贴板->文件脚本:

#!/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", {})

如何手动退出它有点烦人,但至少它能起作用:)。谢谢!
crazy2be 2014年

1

以下python / pygtk脚本可以完成此工作:

#!/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]);

(来源:http : //ubuntuforums.org/showthread.php?t=1689889

要使用它,sudo apt-get install python pygtk请将上面的代码粘贴到脚本中chmod +x以使其可执行,那么您应该一切顺利。


使用此脚本复制了小png图片。既不能将其粘贴到OpenOffice也不能粘贴到Gimp(“剪贴板中没有要粘贴的图像数据”)。不要工作 在Gimp中复制实际图片并使用此脚本后,缓冲区将还原为之前的文本。
六。

我刚刚尝试过:wget http://upload.wikimedia.org/wikipedia/commons/d/d9/Test.png && ./test.py Test.png,而test.py正是这里粘贴的内容。将细末粘贴到Gimp中。
利奥·阿列克谢耶夫

尝试使用Test.png。“剪贴板中没有要粘贴的图像数据”。它取决于运行Gnome吗?如何调试呢?我可以在Gimp中成功复制图像,然后将其粘贴到Openoffice中,因此通常可以复制。
六。

E:无法找到pygtk软件包
2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.