从命令行将图像复制到剪贴板

问题描述 投票:0回答:3

我正在使用 ImageMagick 将屏幕的一部分复制到临时文件 (something.png) 中。我现在想直接从命令行将该文件的内容粘贴到剪贴板中。

到目前为止,我的脚本如下所示:

#!/bin/bash

TMPFILE=$(mktemp)
FORMAT='.PNG'
SCREENSHOT_FILE=${TMPFILE}${FORMAT}

mv "$TMPFILE" "$SCREENSHOT_FILE"
import "$SCREENSHOT_FILE"
cat "$SCREENSHOT_FILE" | parcellite
rm "$SCREENSHOT_FILE"

Parcellite 非常适合命令行复制和粘贴,但我无法让它处理图像。我认为这不是 Parcellite 的功能。那我该怎么办呢?

linux bash imagemagick screenshot clipboard
3个回答
7
投票

看看

xclip
,尤其是
xclip-copyfile
xclip-pastefile

  xclip -i < yourfile.png

0
投票

就像 kan 评论的那样,QDII 想要: http://superuser.com/questions/301851/how-to-copy-a-picture-to-clipboard-from-command-line-in-linux

社区在那里写的内容


正如[此处][1]所示,使用“xclip”将二进制数据粘贴到文件的关键是告诉剪贴板上有哪些[媒体类型][2]。对于 PNG,您可以:
xclip -selection clipboard -t image/png -o > "`date '+%Y-%m-%d_%T'`.png"

image/jpeg
.jpg
对于 JPEG。

所以现在在我的

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


我的自动化解决方案

cat (xout) | xin -t (file --mime-type (xout) | cut -d':' -f2 | tail -c +2)

alias xclip 'xclip -selection clip-board';
alias xin 'xclip -in';
alias xout 'xclip -out';

0
投票

我正在用这个:

sleep 1; import /tmp/ss.png; xclip -selection clipboard -t image/png </tmp/ss.png

它使用

imagemagick
(
import
) 和
xclip
。确保您已安装它们。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.