将图像从剪贴板复制到文件


28

是否可以从剪贴板拍摄图像并将其输出到文件(使用X)?

我可以用文本轻松地做到这一点:

$ xclip -selection c -o > file.text

但是,当我尝试上述图像时,什么也没写。


我要执行此操作的原因是我没有安装图像编辑器,这让我开始思考是否可以不安装图像编辑器来执行此操作。

Answers:


49

您实际上可以使用进行此操作xclip。秘密就是-t选项,它使您参考ICCCM第2.6.2节。我承认,我没有怪我没有阅读...无论如何,例如,我只是右键单击了您在Chromium中的头像,然后选择“复制图像”:

  1. 查看可用的目标:

    $ xclip -selection clipboard -t TARGETS -o
    TARGETS
    image/png
    text/html
    
  2. 注意image/png目标;继续并获得它:

    $ xclip -selection clipboard -t image/png -o > /tmp/avatar.png
    $ see /tmp/avatar.png    # yep, that's it
    

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


我使用的是0.12,pacman所以我必须获得上游版本。谢谢!
Lerp 2014年

错误:目标图片/ png不可用,此版本过旧。Debian的拉伸
Stígandr

@Stígandr我确认这在运行Debian测试(拉伸)的机器上仍然有效。也许您复制了JPEG或其他类型的图像?最好是提一个新问题,而不要在注释中调试它。
derobert

3

xclip不适用于我计算机上的图像(svn84-4):

$ xclip -selection clipboard -t image/png -o
Error: target image/png not available

但是还有另一个程序可以截取屏幕截图并将其粘贴到文件中,非常简单:scrot

scrot /tmp/myImage.png
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.