2010-11-01 63 views
0

因此,让我以这个事实作为序言,我是Ruby和FXruby的初学者。我想知道如何通过使用URL来获取图像。这是让他们当了我的桌面我使用的代码:如何在FXRuby中获取互联网图像?

require 'rubygems' 

require 'fox16' 

include Fox 


class Image_Viewer <FXMainWindow 
    def initialize(app) 
    super(app, "Image Viewer", :opts => DECOR_ALL, :width => 500, :height => 450) 
    @pic = File.open("/Users/AdamAshwal/Desktop/image.jpg", "rb") 
    @pic2 = FXJPGImage.new(app, @pic.read) 
    FXImageFrame.new(self, @pic2) 

end 
    def create 
    super 
    self.show(PLACEMENT_SCREEN) 
end 

end 


app = FXApp.new 
mainwin = Image_Viewer.new(app) 

app.create 
app.run 

回答

0

那应该是

require 'open-uri' 

,而不是

require 'open-url' 
+0

雅,很感谢。那么我可以复制并粘贴任何网址吗?像:@pic = File.open(“http://www.dream-worlds.net/forum/uploads/100/platypus.jpg”,“rb”) – 2010-11-03 22:16:25

+0

它似乎没有工作 – 2010-11-03 22:17:03

+0

首先,您需要使用open()而不是File.open(),正如Resse Moore在其示例中所示。另外,你列出的字符串(“dream-worlds.net ...”)不是一个URL。还有一件事,即使我把它做成一个URL,我也无法通过'net anyways(权限被拒绝)获取该图像。 – 2010-11-11 16:10:41

0

只是做一个:

require 'open-url' 

然后

@pic = open("http://website.com/imgs/image.png")  

然后把它当作你像对待其他任何File

+0

然后它说:“没有文件加载”, – 2010-11-01 20:06:22

+0

您是否已经验证的图像存在于URL指定? – sosborn 2010-11-02 04:55:46

+0

好吧,我继续谷歌图像,只是发现一个随机图像,并使用该网址,如果这就是你的意思 – 2010-11-02 15:11:19