【发布时间】:2011-08-02 22:20:06
【问题描述】:
如何使用 pbcopy 将图像设置为剪贴板?
这不起作用:
cat image.png | pbcopy
【问题讨论】:
标签: macos bash clipboard pbcopy
如何使用 pbcopy 将图像设置为剪贴板?
这不起作用:
cat image.png | pbcopy
【问题讨论】:
标签: macos bash clipboard pbcopy
更新答案
您实际上可以在命令行中使用 Applescript 将 JPEG 图像放入剪贴板:
osascript -e 'set the clipboard to (read (POSIX file "/Users/mark/Desktop/a.jpg") as JPEG picture)'
然后您可以使用以下命令检查剪贴板上的内容:
osascript -e 'clipboard info'
JPEG picture, 175960, «class 8BPS», 641904, GIF picture, 124637, «class jp2 », 102086, TIFF picture, 1481282, «class PNGf», 412940, «class BMP », 1477734, «class TPIC», 609835
并将图像粘贴到文档中,使用通常的 ⌘-V。
原答案
你可以做到这一点,不需要编译任何额外的软件,只需使用 OS X 中提供的工具。基本上,剪贴板无法存储二进制文件,所以你需要uuencode你的二进制文件图像转换成简单的 ASCII 数据,如下所示:
# Copy image to clipboard
uuencode SomeFile.jpg - | pbcopy
和uudecode当返回另一条路时
# Paste from clipboard to image file
pbpaste | uudecode -o AnotherFile.jpg
【讨论】:
JPEG 替换为PNG 时,它似乎不起作用。
如上所述,这不适用于pbcopy,但您可以编写一个小的objective-c 程序来执行此操作:http://www.alecjacobson.com/weblog/?p=3816。然后你可以发出:
cat image.png | impbcopy -
【讨论】:
convert 工具结合使用。例如,要将 pdf 的第一页复制为光栅图像:convert input.pdf[0] png:- | impbcopy -
来自文档:
输入作为 ASCII 数据放置在粘贴板中,除非它以 Encapsulated PostScript (EPS) 文件头或富文本格式 (RTF) 文件头开头,在这种情况下,它作为这些数据类型之一放置在粘贴板中。
听起来好像不支持图像数据,所以它不起作用。
【讨论】:
uuencodeuudecode 允许 C&P 任何二进制文件到/frpm PB