我正在研究JSS文章' RGtk2:R'的图形用户界面。我正在尝试使用文章中的脚本读取图形文件:
image<-gdkPixbuf(filename= imagefile("D:/My pictures/Business images/ja_logo.gif"))[[1]]
window$set(icon=image, title="Hello world 1.0" )
然而,desipte尝试在不同位置的各种图形文件我总是收到以下内容:
> image<-gdkPixbuf(filename= imagefile("D:/My pictures/Business images/Call centre.jpg")) [[1]]
Warning message:
In gdkPixbufNewFromFile(filename, .errwarn) :
Failed to open file '': Invalid argument
我已经尝试过使用工作目录中的文件和那些有完整路径的文件,但我无处可去。我错过了一些令人尴尬的事情,或者包装有问题吗?
更新:我尝试使用PNG包读取png:
imfile <- readPNG("D://My pictures//Business images//ja_logo.png")
imfile
这很有效(或者至少没有发现任何错误)
答案 0 :(得分:0)
问题可能是您的操作系统。 linux上的路径看起来像那样(单/):
"Business images/ja_logo.gif"
虽然在Windows上看起来像那样(双\):
"Business images\\ja_logo.gif"
答案 1 :(得分:0)
我遇到了同样的问题。这是解决方案。将您的代码更改为
image<-gdkPixbuf(filename= "D:/My pictures/Business images/ja_logo.gif")[[1]]
window$set(icon=image, title="Hello world 1.0" )
您使用的路径没问题。虽然我总是避免在我的代码中使用包含“”的路径。
然后它会顺利运行。原因是imagefile
仅匹配RGTK2包中的图像。实际上,它们不需要在命名空间文件中声明它。帮助文件也有误导性。这是原始功能:
function (name)
{
system.file("images", name, package = "RGtk2")
}