如何将内存中的 png 图像添加到绘图中?

天空步行者

我有一个在内存中自动生成的 png 图像,而不是从磁盘加载它。我当然可以先将它保存到磁盘,但我宁愿不这样做。我想在 ggplot2 图中的某处显示该图像,但找不到合适的包/函数来执行此操作。

我在内存中的图像是例如

x <- "data:image/png;base64,..."

更新一个现实的用例,以及我在尝试使用答案 #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)))
天空步行者

我找不到从内存中加载 PNG 的任何方法。但是,使用光栅版本可以完美地使用另一种方式:

library(ggplot2)
library(raster)
library(qrencoder)
library(grid)
qrGrob <- grid::rasterGrob(raster::as.raster(
                 qrencoder::qrencode_raster("http://rud.is/b"), 
                 maxpixels=.Machine$integer.max,col=c("white", "black")),
                 interpolate=FALSE)    
ggplot() + geom_blank() + annotation_custom(qrGrob,0,1,0,1) 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将阴影添加到png图像

如何将背景图像添加到使用D3创建的绘图中

Android:如何将文本添加到png格式的图像?

如何将.png添加到JButton

添加到绘图画布时,Word将JPG转换为PNG

如何将geom_hlines图例添加到plotine中的绘图中?

如何将PNG添加到android中的浮动操作按钮

如何将用枕头修改的.png图像添加到OpenCV视频?

如何将不同的背景图像 (.png) 添加到 SVG 圆形,并设置笔画?

将 Png 文件添加到 JButton

将误差线添加到绘图箱图中的点

使用R将图例添加到绘图中

将seaborn clustermap添加到其他绘图中

将ByteArray转换为png图像并将其添加到Xamarin.Android中的ImageView

如何将边线添加到现有绘图中?

错误:不知道如何将e2添加到绘图中

如何将PNG图像嵌入堆栈(胡子)模板中?

如何将png图像加载到TImage中

使用 Seaborn & Matplotlib 将图像添加到绘图背景

将图像(png文件)添加到使用R创建的pdf文件的标题中

将.png图像添加到标题属性-ASP.Net MVC 4

使用GD Library生成png图像并将其添加到zip存档中

如何使用伪元素 ::before 将背景图像(png 图像格式)添加到 div

Android如何将图库图像添加到绘图应用程序

将图像添加到列表视图中的按钮

将图像添加到左侧的表格视图中

将datashader图像添加到matplotlib子图中

无法将 .png 添加到 OJet 项目中的页面

如何在python 3中将png文件添加到word文档中