我正在使用png
包将PNG加载为光栅图像,然后绘制它们。 PNG来自在线资源,即Wikipedia。我可以进行以下工作:
library(png)
pngURL <- "http://upload.wikimedia.org/wikipedia/commons/thumb/9/9a/Flag_of_Afghanistan.svg/150px-Flag_of_Afghanistan.svg.png"
# Works:
download.file(pngURL, "temp.png", mode = "wb")
localPNG <- readPNG("temp.png")
plot(1)
rasterImage(localPNG, 0.8, 0.8, 1.2, 1.2)
但是,与其使用
download.file()
在本地存储PNG,然后重新加载,不如直接从URL加载PNG。但是,这不起作用:# Does not work:
internetPNG <- readPNG(pngURL)
由于它导致
Error in readPNG(pngURL) :
unable to open http://upload.wikimedia.org/wiki...
有人对如何使它生效有建议吗,还是有某些特殊原因导致R无法从URL加载此PNG?
提前致谢。
最佳答案
在getURLcontent
包中使用RCurl
。
library(RCurl)
myurl <- "http://upload.wikimedia.org/wikipedia/commons/thumb/9/9a/Flag_of_Afghanistan.svg/150px-Flag_of_Afghanistan.svg.png"
my_image <- readPNG(getURLContent(myurl))
关于r - 直接从URL加载PNG文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12888120/