9

如何将图像复制到剪贴板,然后直接将其插入/粘贴到 .Rmd 文件中?

另请参阅:https ://github.com/rstudio/rstudio/issues/4038

在此处输入图像描述

剧透:我想发布这个问题,然后决定自己试一试。(问一个问题并自己回答有点奇怪,但是当我读到这篇文章时,我感到有足够的动力:) https://stackoverflow.com/help/self-answer

到目前为止,我通过 python 得到了一个解决方法(见下面的答案),但它有效并为我节省了一些愚蠢的工作。所以我决定我可能不是唯一一个在谷歌上搜索这个问题并分享我的结果的人。

4

1 回答 1

9

我写了一个小 RStudio 插件并在这里​​分享:https ://github.com/Timag/imageclipr 。编辑:由于巨大的贡献,它现在可以在没有 Python 的情况下跨平台(Mac、Windows、Linux)工作。

在此处输入图像描述

演练:

基本上我从这里开始:如何从 python 中的 Windows 剪贴板读取 jpg 或 png,反之亦然?.

我使用此代码保存图像:

from PIL import ImageGrab
im = ImageGrab.grabclipboard()
im.save('somefile.png','PNG')

然后我写了一个包装器library(reticulate)来运行R中的python代码。这就是gif的“正确部分”:将图像复制到目录。

对于我使用的“左侧部分” library(rstudioapi)。我拿电流

  • 文件:getActiveDocumentContext()$id
  • 线:getActiveDocumentContext()$selection[[1]]$range$start
  • 目录:getActiveDocumentContext()$path

然后写了一个小的 RStudio 插件:https ://rstudio.github.io/rstudioaddins/ 。

于 2019-04-05T18:26:27.613 回答