Set clipboard to image - pbcopy

2019-02-17 07:00发布

How do you set an image as the clipboard with pbcopy?

This doesn't work:

cat image.png | pbcopy

3条回答
唯我独甜
2楼-- · 2019-02-17 07:35

From the documentation:

The input is placed in the pasteboard as ASCII data unless it begins with the Encapsulated PostScript (EPS) file header or the Rich Text Format (RTF) file header, in which case it is placed in the pasteboard as one of those data types.

It doesn't sound like image data is supported, so it won't work.

查看更多
forever°为你锁心
3楼-- · 2019-02-17 07:53

Updated Answer

You can actually put a JPEG image in the clipboard using Applescript like this at the command-line:

osascript -e 'set the clipboard to (read (POSIX file "/Users/mark/Desktop/a.jpg") as JPEG picture)'

You can then check what is on the clipboard with:

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

And also paste the image into a document, with the usual -V.

Original Answer

You can do this without needing to compile any additional software and just use the tools provided in OS X. Basically, the clipboard is unable to store binary, so you need to uuencode your binary image into simple ASCII data like this:

# Copy image to clipboard
uuencode SomeFile.jpg - | pbcopy

and uudecode when going back the other way

# Paste from clipboard to image file
pbpaste | uudecode -o AnotherFile.jpg
查看更多
Summer. ? 凉城
4楼-- · 2019-02-17 07:56

As stated, this won't work with pbcopy, but you can write a little objective-c program to do this: http://www.alecjacobson.com/weblog/?p=3816 . Then you can issue:

cat image.png | impbcopy -
查看更多
登录 后发表回答