Gambas-it

Archivi (sola lettura) => Domande tecniche (Gambas 2) => Topic aperto da: Ste86 - 17 Agosto 2012, 17:38:40

Titolo: da una picturebox prelevare un' immagine che risiede in un indirizzo url
Inserito da: Ste86 - 17 Agosto 2012, 17:38:40
salve a tutti mi presento:
Leggo molti forum e per la prima volta mi trovo nella necessità di chiedere qualcosa in prima persona. Ho 26 anni e sono un appassionato di informatica ed elettronica e sottolineo appassionato, niente di più. Diciamo però che la prima ha trovato quest'ultima, sopratutto per quanto riguarda i microcontrollori e la prototipizzazione con Arduino. La passione per l'informatica invece ce l'ho ormai da tempo ma da poco ho cominciato a fare esperimenti gli IDE.

Il mio problema ora è quello di riuscire all'apertura di una form a prelevare un'immagine che risiede in un indirizzo URL e visualizzarla in una picturebox. Incollo qui il codice che tra tanti che ho provato è quello che "mi piace di più" :
Il problema riscontrato è che non succede nulla con neanche un errore rilevato


PUBLIC SUB Form_Open()

PictureBox1.Picture = Picture["http://berlin3.btm.de/webcam/current.jpg"]

END

Io come contributo posso mettermi a disposizione per chi volesse avere chiarezze su come gestire le porte USB in linux con gambas visto che io ho imparato a fare queste cosa grazie a questi siti.

Intanto vi saluto....a presto

Titolo: Re: da una picturebox prelevare un' immagine che risiede in un indirizzo url
Inserito da: vuott - 17 Agosto 2012, 21:03:03
Il mio problema ora è quello di riuscire all'apertura di una form a prelevare un'immagine che risiede in un indirizzo URL

Qualcosa è in queste pagine e nelle successive risposte (i cui collegamenti li trovi nella pagine medesime):
* http://www.mail-archive.com/gambas-user@lists.sourceforge.net/msg01971.html
* http://osdir.com/ml/gambas-development-environment-basic/2011-09/msg00078.html



Io come contributo posso mettermi a disposizione per chi volesse avere chiarezze su come gestire le porte USB in linux con gambas visto che io ho imparato a fare queste cosa grazie a questi siti.

Ora per sdebitarti  :P dovrai scrivere nell'area "Guide della comunità" della nostra WIKI su come gestire le porte USB in linux con gambas:
http://www.gambas-it.org/wiki/index.php/Guide_della_comunit%C3%A0
Titolo: Re: da una picturebox prelevare un' immagine che risiede in un indirizzo url
Inserito da: fsurfing - 20 Agosto 2012, 21:26:21
un metodo veloce ma poco pulito e quello di scaricare l' immagine tramite il comando

Codice: [Seleziona]
shell wget percorso immagine

una volta scaricata l' immagine da wget la puoi applicare alla picture..
Titolo: Re: da una picturebox prelevare un' immagine che risiede in un indirizzo url
Inserito da: vuott - 24 Agosto 2012, 13:52:51
un metodo veloce ma poco pulito e quello di scaricare l' immagine tramite il comando

Codice: [Seleziona]
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
Codice: gambas [Seleziona]

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.
Titolo: Re: da una picturebox prelevare un' immagine che risiede in un indirizzo url
Inserito da: fsurfing - 24 Agosto 2012, 15:27:40
ma io l' avevo detto che era un sistem apoco pulito..........
Titolo: Re: da una picturebox prelevare un' immagine che risiede in un indirizzo url
Inserito da: Ste86 - 24 Agosto 2012, 15:45:07
Ciao ragazzi...
Scusate se non vi ho più risposto, ma sto impiegando  il tempo libero per quella guida che ho promesso di fare. Ho visto la risposta da parte di "vuott" e devo dire che speravo che mi fosse data proprio cosi: È gentilissimo a specificare quali componenti includere nel progetto. Lo proverò appena ho finito la guida che intendo fare per ricambiare visto che non mi sto rivolgendo ad una software-house ma ad un gruppo di appassionati che vuole condividere le proprie idee e i problemi per realizzarle

...ci sentiamo
Titolo: Re: da una picturebox prelevare un' immagine che risiede in un indirizzo url
Inserito da: vuott - 24 Agosto 2012, 15:51:38
ma io l' avevo detto che era un sistem apoco pulito..........

Eh...sì...va be' !....  :specchio:       ...   ;D



....la guida che intendo fare per ricambiare visto che non mi sto rivolgendo ad una software-house ma ad un gruppo di appassionati che vuole condividere le proprie idee e i problemi per realizzarle

...ci sentiamo

...ormai sei vincolato !  Non puoi sfuggire al tuo impegno di scrivere quella guida nella nostra WIKI !  ;D
Titolo: Re: da una picturebox prelevare un' immagine che risiede in un indirizzo url
Inserito da: vuott - 24 Agosto 2012, 16:06:46
Comunque sia, quel codice fsurfinghiano, come modificato  8) , è molto interessante ed utile: quelle poche righe consentono di scaricare e ricreare utilmente qualsiasi file da internet !  :coder:

...come ulteriore prova ho scaricato un file.... mp3  :P e funziona perfettamente.


Bene fsurfing !
Titolo: Re: da una picturebox prelevare un' immagine che risiede in un indirizzo url
Inserito da: Ste86 - 25 Agosto 2012, 15:46:38
Ecco la guida che ho promesso!! Ho provato a fare un copia-incolla nel WIKI ma le immagini non vengono copiate...  :hard:   L'ho messa qui allegata in formato odt invece che pdf in modo che la potiate modificare facilmente.
    Ciao a tutti.....
Titolo: Re: da una picturebox prelevare un' immagine che risiede in un indirizzo url
Inserito da: vuott - 25 Agosto 2012, 16:56:44
Ecco la guida che ho promesso!! Ho provato a fare un copia-incolla nel WIKI ma le immagini non vengono copiate...  :hard:   L'ho messa qui allegata in formato odt invece che pdf in modo che la potiate modificare facilmente.

Ti esprimo il mio sentimento di ringraziamento per la tua disponibilità.

Riguardo alla possibilità di inserire le immagini nella WIKI, io - seppur avendolo mai provato a fare - suppongo che si possano caricare (se c'è qualcuno più esperto mi corregga se erro) cliccando sul collegamento nel riquadro a sinistra: Utilità ---> Carica un'immagine. Ho visto che le immagini possono comunque essere caricate, come è possibile vedere da questa pagina:
http://www.gambas-it.org/wiki/index.php/Ciao_Mondo
per il loro richiamo basta vedere ovviamente nel codice di creazione di tale pagina.
Titolo: Re: da una picturebox prelevare un' immagine che risiede in un indirizzo url
Inserito da: Ste86 - 25 Agosto 2012, 19:35:10
Ho provato ora il codice che mi ha postato "vuott". Funziona alla grande. Grazie 1000 per la collaborazione. A breve chiederò dettagli sulla questione del WIKI.
 Ci sentiamo...
Titolo: Re: da una picturebox prelevare un' immagine che risiede in un indirizzo url
Inserito da: vuott - 25 Agosto 2012, 21:10:35
Ho provato ora il codice che mi ha postato "vuott". Funziona alla grande. Grazie 1000 per la collaborazione.
Mooolto bene ! Hai visto ? Va liscio come l'olio.
...ma non bisogna dimenticare di dare, in vero, ogni merito a fsurfing. Io non fatto altro che fare un po'... l'archeologo ed un po' il riadattatore.


A breve chiederò dettagli sulla questione del WIKI.
 Ci sentiamo...
Qui saranno in molti pronti a darti aiuto.
 :ciao:
Titolo: Re: da una picturebox prelevare un' immagine che risiede in un indirizzo url
Inserito da: vuott - 09 Settembre 2012, 19:05:22
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.
Codice: [Seleziona]
Public Sub Button1_Click()

   Message.Info("<A HREF=http://www.indirizzo_web_della_immagine_da_mostrare>Clicca qui per vedere l'immagine</a>")

End
Titolo: Re: da una picturebox prelevare un' immagine che risiede in un indirizzo url
Inserito da: vuott - 18 Novembre 2012, 14:23:30
Un'ulteriore modalità è quella di utilizzare, ancora con il codice html, l'oggetto WebView (pertanto senza PictureBox), attivando il componente gb.qt4.webkit:
Codice: [Seleziona]
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