将剪贴板设置为image - pbcopy



如何使用pbcopy将图像设置为剪贴板?

这行不通:

cat image.png | 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

如前所述,这不适用于pbcopy,但您可以编写一个小的objective-c程序:http://www.alecjacobson.com/weblog/?p=3816。然后可以发出:

cat image.png | impbcopy -

来自文档:

输入作为ASCII数据放置在粘贴板中,除非它以封装的PostScript (EPS)文件头或富文本格式(RTF)文件头开头,在这种情况下,它作为这些数据类型之一放置在粘贴板中。

听起来好像不支持图像数据,所以它不能工作

如何将PNG图像复制到macos的剪贴板的实际(或最终)答案隐藏在Mark回答的评论中。由于马克的答案不是那么明显,而且我花了一些时间才找到它,所以我将把它作为答案留在这里:

osascript -e 'set the clipboard to (read (POSIX file "/Users/mark/Desktop/a.png") as  {«class PNGf»})'

另一个适用于图像和动画GIF的选择是:

osascript -e 'tell app "Finder" to set the clipboard to ( POSIX file "<PATH_TO_IMAGE>" )'

相关内容

  • 没有找到相关文章

最新更新