【问题标题】:Set clipboard to image - pbcopy将剪贴板设置为图像 - pbcopy
【发布时间】:2011-08-02 22:20:06
【问题描述】:

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

这不起作用:

cat image.png | pbcopy

【问题讨论】:

    标签: macos bash clipboard pbcopy


    【解决方案1】:

    更新答案

    您实际上可以在命令行中使用 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
    

    【讨论】:

    • 如果您不想编译任何东西,这是一个很好的答案。这是一个单行函数,您可以将其放入 .bash_profile 或 .bashrc 以使用它而无需记住详细信息,用法: impbcopy 。 impbcopy() {osascript -e '设置剪贴板为(读取(POSIX文件'\"$PWD/$1\"')为JPEG图片)'}
    • png 文件呢?当我将JPEG 替换为PNG 时,它似乎不起作用。
    • @DawnSong 也许可以尝试一个新问题,其中包含指向该问题的前后链接,我们会看看是否有人知道任何新问题......
    • 另一个问题的答案非常相似here
    • 原始答案是完美的:)
    【解决方案2】:

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

    cat image.png | impbcopy -
    

    【讨论】:

    • 您也可以将它与 ImageMagick 的 convert 工具结合使用。例如,要将 pdf 的第一页复制为光栅图像:convert input.pdf[0] png:- | impbcopy -
    【解决方案3】:

    来自文档:

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

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

    【讨论】:

    • 错误 - uuencodeuudecode 允许 C&P 任何二进制文件到/frpm PB
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-08
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    相关资源
    最近更新 更多