17

我正在使用该png包将 PNG 加载为光栅图像,然后绘制它们。PNG 来自在线资源,即维基百科。我可以使以下工作:

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?

提前致谢。

4

1 回答 1

20

getURLcontentRCurl包装中使用。

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))
于 2012-10-15T01:22:46.667 回答