Скопируйте и вставьте изображение из буфера обмена в код Rmarkdown / .rmd - PullRequest
2 голосов
/ 05 апреля 2019

Как я могу скопировать изображение в буфер обмена, а затем непосредственно вставить / вставить его в файл .Rmd?

См. Также здесь: https://github.com/rstudio/rstudio/issues/4038

enter image description here

Спойлер: Я хотел опубликовать этот вопрос, а затем решил сам дать ему шанс.(Немного странно задавать вопрос и отвечать на него самостоятельно, но когда я прочитал это, я почувствовал себя достаточно мотивированным :) https://stackoverflow.com/help/self-answer)

Пока что я получил обходной путь через python (см. Ответ ниже), но этоработает и спас меня довольно глупую работу.Поэтому я решил, что, возможно, я не единственный, кто гуглит этот вопрос и поделится своим результатом.

1 Ответ

1 голос
/ 05 апреля 2019

Пока я баловался вопросом, я нашел обходной путь.Это все еще требует улучшения, так как он использует Python в бэкэнде, поэтому любые предложения по интеграции только с R приветствуются.(Может быть, часть Python написана на C и может быть также обернута в R).

enter image description here

Я написал небольшое дополнение RStudio и поделился им здесь:https://github.com/Timag/imageclipr.

Пошаговое руководство:

По сути, я начал здесь: Как мне прочитать JPG или PNG из буфера обмена Windows в Python и наоборот? .

Я использую этот код для сохранения изображения:

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

Затем я написал оболочку с library(reticulate) для запуска кода Python из R. Вот что охватывает "право"часть "из gif: Чтобы скопировать изображение в каталог.

Для" левой части "я использую library(rstudioapi).Я беру текущий

  • файл: getActiveDocumentContext()$id
  • , строка: getActiveDocumentContext()$selection[[1]]$range$start
  • , каталог: getActiveDocumentContext()$path

Азатем написал небольшой аддон RStudio: https://rstudio.github.io/rstudioaddins/.

...