我有一个png图像,它在内存中自动生成,而不是从磁盘加载 . 我当然可以先将它保存到磁盘但我宁愿不这样做 . 我想在ggplot2图中的某处显示该图像,但找不到合适的包/函数来执行此操作 .
我在记忆中的图像是例如
x <- "data:image/png;base64,..."
UPDATE 一个真实的用例,以及我在尝试使用答案#1时得到的错误
library(qrencoder)
x <- qrencode_png("http://rud.is/b")
x
[1] "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAAAAACMfPpKAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAfElEQVQYlU2QWwrEMAwDR0vuf+XZj8qJSyjIyNYjAkAMQNFhkBCKzoNiin70kxKBN41ENuf7+9AZWQOGRx/2m4TeKy2YO0GyDpwszW5EUCs/ur78NZtGvSa8azdPDGttsonot8LtDFNnrs4yLSbuJk0ajnV3vevhCxUj4Q+R11n764g4WgAAAABJRU5ErkJggg=="
myImage <- png::readPNG(x)
> Error in png::readPNG(x) :
> unable to open
> data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAAAAACMfPpKAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAfElEQVQYlU2QWwrEMAwDR0vuf+XZj8qJSyjIyNYjAkAMQNFhkBCKzoNiin70kxKBN41ENuf7+9AZWQOGRx/2m4TeKy2YO0GyDpwszW5EUCs/ur78NZtGvSa8azdPDGttsonot8LtDFNnrs4yLSbuJk0ajnV3vevhCxUj4Q+R11n764g4WgAAAABJRU5ErkJggg==
我也试过以下但是我得到了不同的错误:
qrGrob <- grid::gTree(children=gList(grid::rasterGrob(x)))
要么
qrGrob <- grid::gTree(children=gList(grid::rasterGrob(x)))
3 回答
这可能有效:
从矢量中读取图像
渲染图像
使用空白
ggplot2
geom进行绘图码:
我找不到任何方法从内存加载PNG . 但是,另一种方式使用光栅版本完美运行:
基于@SkyWalker,它适用于我 .
库(GGPLOT2)