un metodo veloce ma poco pulito e quello di scaricare l' immagine tramite il comando
shell wget percorso immagine
una volta scaricata l' immagine da wget la puoi applicare alla picture..
un metodo veloce ma poco pulito e quello di scaricare l' immagine tramite il comando
shell wget percorso immagine
una volta scaricata l' immagine da wget la puoi applicare alla picture..
:violent:
E' evidente che sto martellando violentemente proprio fsurfing.
Ma perché tiri in ballo wget con Shell, quando invece potevi (l'hai dimenticato, eh ?) ri-tirare con leggerissima modifica un tuo precedente preziosissimo suggerimento ? (Suggerimento che ho scoperto qualche minuto fa !)
Ed allora la ripropongo io, con qualche modifica, quell'ottima soluzione di fsurfing, ri-adattata alla richiesta di Ste86 .
E' necessario impostare nel programma anche i componenti: gb.net e gb.net.curl
Public myhttp As New HttpClient As "myhttp"
Public stringa As String
Public Sub Form_Open()
End
Public Sub Button1_Click()
myhttp.URL = "http://berlin3.btm.de/webcam/current.jpg"
myhttp.Timeout = 15
myhttp.Get()
End
Public Sub myhttp_Read()
Dim sBuf As String
If Lof(MyHTTP) Then
Read #MyHTTP, sBuf, Lof(MyHTTP)
stringa = stringa & sBuf
End If
End
Public Sub MyHTTP_Finished()
' Modifico leggermente il testo della "Label":
Label1.Text = ("Immagine scaricata")
Wait
MyHTTP.Close
' Tocco finale !
' Ricreiamo il file immagine partendo dai valori contenuti nella variabile stringa:
File.Save("/tmp/berlino.jpg", stringa)
' Carichiamo nella "PictureBox" il file immagine ricreato:
PictureBox1.Picture = Picture["/tmp/berlino.jpg"]
End
In tal modo viene eliminato Shell e sono utilizzate solo funzioni Gambas, sulla base di un miracoloso esempio scritto e... dimenticato da fsurfing:
http://www.gambas-it.org/smf/index.php?topic=1199.msg13202#msg13202
Nota:
Suppongo si possa ricreare, dopo lo scarico, un qualsiasi tipo di file: io - per fare il test di questo codice - ho scaricato e ricreato in quel modo un file Midi, che è stato letto perfettamente dal sequencer.
Al fine di rendere esaustiva la questione dello scaricamento di un'immagine dal web, aggiungerei anche la seguente modalità: il file immagine è richiamato da un'oggetto che permette l'utilizzo del codice html.
In questo caso, però, l'immagine si aprirà all'interno del proprio webbrowser; e quindi si potrà salvare il file immagine, però dal webbrowser.
Public Sub Button1_Click()
Message.Info("<A HREF=http://www.indirizzo_web_della_immagine_da_mostrare>Clicca qui per vedere l'immagine</a>")
End
Un'ulteriore modalità è quella di utilizzare, ancora con il codice html, l'oggetto WebView (pertanto senza PictureBox), attivando il componente gb.qt4.webkit:
Public Sub Form_Open()
WebView1.Html = "<HTML><IMG Src='http://berlin3.btm.de/webcam/current.jpg'>Collegamento con webcamera su Berlino.</img></html>"
End
Nella WebView apparirà l'immagine proveniente dalla webcamera.
Di tutta 'sta questione, comunque, ne ho fatto un piccolo riassunto :-[ nella nostra WIKI:
http://www.gambas-it.org/wiki/index.php/Scaricare_un%27immagine_da_un_sito_internet