R Imagemagick“跳过”注释并变为单色

问题描述

我正在R中处理一个合成图,为此我导出了一个ggplot,然后将其加载到magick中以作进一步的注释并合成另一个图。由于对齐方式是一个反复试验的过程,因此我将保留所有“最终”注释的版本,并使用第二个图像进行调试。

通常,这很好,但是有时会出现两个错误中的一个或两个:

  • 图像变成黑白(甚至没有灰度,只是硬的黑白)
  • 某些注释正在“跳过”,这意味着它们不会显示在预览中

我已经测试了第二个错误,命令的顺序很重要。直到某一点的所有注释都将被应用,此后将不再应用。

唯一可靠地“修复”该错误方法是重新启动PC。重新启动R会话,清除缓存,重新启动Rstudio仍然无效。一旦发生此错误,它将一直存在(运行代码将产生完全相同的结果),直到系统重新启动为止。

我的代码的简化版本:

graph1 <- image_read(path1)
graph2 <- image_read(path2)
annotated_graph <- graph1 %>%  # creating a saved version so I don't have to run all of the code every time
  image_border(color='white',geometry = '2000x1000') %>%
  image_annotate("text1",size = 100,color = "black",location = "+1000+4000") %>%
  image_annotate("text2",location = "+2000+4000")
annotated_graph %>%  # opens current "experiment" state in viewer
  image_annotate("text3",location = "+3000+4000") %>%
  image_composite(image_scale(graph2,"1000"),offset = "+1000+1000")

要测试查看器本身是否是问题,我已经测试了在浏览器中打开它(无济于事)。我还尝试使用下面的代码在绘图窗口中打开它,但是它只显示相同的错误(分辨率较低):

tiff_file <- tempfile()
image_write(annotated_graph,path = tiff_file,format = 'tiff')
r <- raster::brick(tiff_file)
raster::plotRGB(r)

我认为这可能是内存问题,但是根据任务管理器,有几GB的可用RAM。

我真的很乐意彻底解决该问题,但是找到一种无需重新启动整个系统即可重新启动需要重新启动的组件的方法已经很出色了!

我的规格:AMD64,R 4.0.2,magick 2.4.0上的Win10

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)