二进制(图像)数据剪贴板(OS X)

时间:2010-06-30 05:31:03

标签: macos clipboard

当我将东西复制到剪贴板时,我可以将它们转储到我的控制台窗口或使用

重定向到文件

pbpaste > out.txt

但如果我右键单击并在浏览器中复制图像并进行复制,则尝试

pbpaste > out.jpg

什么都没输出。

OS X在哪里将图像数据存储在剪贴板中?是否有某种方法可以从命令行访问它,类似于pbpaste?

3 个答案:

答案 0 :(得分:6)

在回复Jeff中的问题后,编写了utility以便将图形粘贴到PNG。

答案 1 :(得分:0)

man pbpaste表示它只查找纯文本,富文本或封装的postscript。我不知道任何处理更多通用粘贴板数据的命令,但写一个可能并不难。

答案 2 :(得分:0)

对于寻找如何在剪贴板中存储任意二进制数据的人来说,这似乎不切实际。在某种程度上,我相信是因为粘贴板只接受一个 handful of types。都不适用于任意无格式数据。

您似乎可以对粘贴板撒谎,将任意数据放入其中一种非字符串类型中,例如 PDF pasteboardType,然后从剪贴板读回相同的数据。

使用 Python pasteboard 包(一个带有 Python 绑定的小型 Objective-C 程序)可以演示:

import secrets
data = secrets.token_bytes(100) # generate random bytes
import pasteboard
pb = pasteboatd.Pasteboard()
# set the data to the pasteboard
pb.set_contents(data, pasteboard.PDF)
# get the contents back, same as before
pb.get_contents(pasteboard.PDF) == data # True