如何以编程方式在绘图中使用 .ico 图像 with/without 转换
How to use .ico images in plots programmatically with/without conversion
如何以编程方式在绘图中使用 .ICO
图像文件 with/without 转换?
我的问题是 How to convert .ICO to .PNG? 的后续问题,针对 R
,具体细节如下:
我不是在询问涉及将图标包含在 HTML
中的方法,例如在 shiny
应用程序中(作者:RStudio)。那当然是可能的。
图标 .ICO
文件可以直接用于 base-R 图、ggplot 对象(作者:Hadley Wickham)、点阵图(作者:Deepayan Sarkar)吗?这种方法是否可以稳健地将输出打印到 PDF
?
如何使用或不使用专用的 R
库将 ICO
图标转换为 PNG
。此方法会谨慎处理图标的图像大小、深度、透明度和其他可能重要的属性。
这样做的动机很简单,有许多图标的开源库可以在绘图对象中使用,例如Inserting an image to ggplot2, Display custom image as geom_point, Inserting an image to ggplot outside the chart area.
在我在顶部引用的问题 How to convert .ICO to .PNG? 中,C#
和 Python
中有代码示例,但 R
中有 none ].
在您的系统上安装 ImageMagick(您的系统 - 它不是 R 包)。它是一套开源图像处理和转换工具。
然后您可以从命令行使用 convert foo.ico foo.png
转换图标。如果 ICO 文件包含多个图标,您会得到 foo-1.ico
到 foo-N.ico
。如果 convert
不起作用,则说明您没有正确安装 ImageMagick。
如果您想从 R 执行此操作,请使用 system
函数:
name = "foo"
system(paste0("convert ",name,".ico ",name,".png"))
然后使用生成的PNG文件。它们将保留所有属性(透明度等),并且可以像这些包中可用的任何其他 PNG 文件一样使用,这超出了这个问题的范围。您现在有了 PNG 文件。
一个 可以 编写一个 R 包来本地读取 ICO 文件(规范在维基百科上)但是当 ImageMagick 存在并且做得如此出色时它似乎有点毫无意义。使用它。
现在有一个 magick
包,你不需要再使用 system
:
library(magick)
path <- "magic.png" # wherever you want to save
image <- image_read("https://rpubs.com/favicon.ico") # works with local path as well
在 R studio 中,这将在绘图 window 中打印我们的图像,对于 ico 文件,它显示文件中可用的不同图标。
image
然后你就可以保存成你想要的格式了:
image_write(image,path,"png")
file.exists(path)
# [1] TRUE
如何以编程方式在绘图中使用 .ICO
图像文件 with/without 转换?
我的问题是 How to convert .ICO to .PNG? 的后续问题,针对 R
,具体细节如下:
我不是在询问涉及将图标包含在
HTML
中的方法,例如在shiny
应用程序中(作者:RStudio)。那当然是可能的。图标
.ICO
文件可以直接用于 base-R 图、ggplot 对象(作者:Hadley Wickham)、点阵图(作者:Deepayan Sarkar)吗?这种方法是否可以稳健地将输出打印到PDF
?如何使用或不使用专用的
R
库将ICO
图标转换为PNG
。此方法会谨慎处理图标的图像大小、深度、透明度和其他可能重要的属性。
这样做的动机很简单,有许多图标的开源库可以在绘图对象中使用,例如Inserting an image to ggplot2, Display custom image as geom_point, Inserting an image to ggplot outside the chart area.
在我在顶部引用的问题 How to convert .ICO to .PNG? 中,C#
和 Python
中有代码示例,但 R
中有 none ].
在您的系统上安装 ImageMagick(您的系统 - 它不是 R 包)。它是一套开源图像处理和转换工具。
然后您可以从命令行使用 convert foo.ico foo.png
转换图标。如果 ICO 文件包含多个图标,您会得到 foo-1.ico
到 foo-N.ico
。如果 convert
不起作用,则说明您没有正确安装 ImageMagick。
如果您想从 R 执行此操作,请使用 system
函数:
name = "foo"
system(paste0("convert ",name,".ico ",name,".png"))
然后使用生成的PNG文件。它们将保留所有属性(透明度等),并且可以像这些包中可用的任何其他 PNG 文件一样使用,这超出了这个问题的范围。您现在有了 PNG 文件。
一个 可以 编写一个 R 包来本地读取 ICO 文件(规范在维基百科上)但是当 ImageMagick 存在并且做得如此出色时它似乎有点毫无意义。使用它。
现在有一个 magick
包,你不需要再使用 system
:
library(magick)
path <- "magic.png" # wherever you want to save
image <- image_read("https://rpubs.com/favicon.ico") # works with local path as well
在 R studio 中,这将在绘图 window 中打印我们的图像,对于 ico 文件,它显示文件中可用的不同图标。
image
然后你就可以保存成你想要的格式了:
image_write(image,path,"png")
file.exists(path)
# [1] TRUE