我正在尝试为我的公司创建一个包,其中会有一些自定义调色板和我们公司的徽标。到目前为止,我成功构建了包含所有必需调色板的包,但是在尝试包含徽标时我也卡住了。
我以为一旦徽标加载到 R 中,它只是另一个数据框,我可以简单地使用此函数来存储它:
logo <- image_read("logo.png")
logo <- image_scale(logo, "50")
usethis::use_data(logo,company_logo)
Run Code Online (Sandbox Code Playgroud)
但是,我遇到了一个错误:
错误:图像指针已死。您不能在 R 会话之间保存或缓存图像对象。
现在我不确定我的目标是否可能实现?
Jan*_*aan 12
您可以inst在包下的子目录中安装其他文件。例如,inst/logos在您的包中创建一个目录并将您的徽标放在那里。安装软件包后,这会logos在您的软件包目录中创建一个目录。然后您可以system.file在安装包时使用它来访问图像。您可以在您的包中创建一个为您执行此操作的函数。例如:
company_logo <- function() {
magick::image_read(system.file("logos/logo.png", "MyCompanyPackage"))
}
Run Code Online (Sandbox Code Playgroud)
存储image_readusing结果save不起作用的原因是,返回的结果image_read是指向包分配的某些内存的指针。保存结果时只保存指针而不保存指向的数据。
| 归档时间: |
|
| 查看次数: |
1225 次 |
| 最近记录: |