How can I copy an image to the clipboard and then directly insert/paste it in an .Rmd file?
See also here: https://github.com/rstudio/rstudio/issues/4038
Spoiler: I wanted to post this question and then decided to give it a shot myself. (It is a bit weird asking a question and answering it yourself, but when i read this i felt motivated enough :) https://stackoverflow.com/help/self-answer)
So far i got a workaround via python (see answer below), but it works and saved me quite some silly work. So i decided i might not be the only one googling that question and share my result.
I wrote a little RStudio addin and shared it here: https://github.com/Timag/imageclipr. Edit: It works now without Python across plattforms (Mac, Windows, Linux), thanks to great contributions.
Walkthrough:
Basically i started here: How do I read a jpg or png from the windows clipboard in python and vice versa?.
I use this code to save the image:
from PIL import ImageGrab
im = ImageGrab.grabclipboard()
im.save('somefile.png','PNG')
Then i wrote a wrapper with library(reticulate)
to run the python code from R.
Thats what covers the "right part" of the gif: To copy the image to a directory.
For the "left part" I use library(rstudioapi)
.
I take the current
getActiveDocumentContext()$id
getActiveDocumentContext()$selection[[1]]$range$start
getActiveDocumentContext()$path
And then wrote a small RStudio addin: https://rstudio.github.io/rstudioaddins/.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With