2010-11-01 2 views
0

так позвольте мне предисловие к этому с тем, что я новичок в рубине и 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

Ya, круто спасибо. Тогда я могу просто скопировать и вставить любой URL-адрес? Например: @pic = File.open («http://www.dream-worlds.net/forum/uploads/100/platypus.jpg», «rb») –

+0

Он, похоже, не работает –

+0

С одной стороны, вам нужно использовать open() вместо File.open(), как показал в своем примере Resse Moore. С другой стороны, строка, которую вы указали («dream-worlds.net ...»), не является URL-адресом. Для еще одной вещи, даже если я сделаю ее URL-адресом, я не могу получить этот образ по сети в любом случае (разрешение отклонено). –

0

Просто сделать:

require 'open-url' 

затем

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

Затем обработайте его, как вы бы относиться к любой другой File

+0

затем Он говорит: «Нет файла для загрузки», –

+0

Подтвердили ты образ существует в URL, указанный? – sosborn

+0

Ну, я пошел на изображения Google и только что нашел случайное изображение и использовал этот URL, если это то, что вы имеете в виду –