Autore Topic: da una picturebox prelevare un' immagine che risiede in un indirizzo url  (Letto 8923 volte)

Offline Ste86

  • Gamberetto
  • *
  • Post: 4
    • Mostra profilo
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


Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
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
« Ultima modifica: 17 Agosto 2012, 21:08:03 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
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..

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
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.
« Ultima modifica: 25 Febbraio 2015, 01:02:42 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
ma io l' avevo detto che era un sistem apoco pulito..........

Offline Ste86

  • Gamberetto
  • *
  • Post: 4
    • Mostra profilo
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

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
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
« Ultima modifica: 27 Agosto 2012, 05:10:21 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
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 !
« Ultima modifica: 25 Agosto 2012, 01:05:59 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Ste86

  • Gamberetto
  • *
  • Post: 4
    • Mostra profilo
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.....
« Ultima modifica: 25 Agosto 2012, 15:52:54 da Ste86 »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
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.
« Ultima modifica: 25 Agosto 2012, 17:09:14 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Ste86

  • Gamberetto
  • *
  • Post: 4
    • Mostra profilo
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...

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
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:
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: da una picturebox prelevare un' immagine che risiede in un indirizzo url
« Risposta #12 il: 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
« Ultima modifica: 18 Novembre 2012, 16:00:22 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: da una picturebox prelevare un' immagine che risiede in un indirizzo url
« Risposta #13 il: 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
« Ultima modifica: 03 Aprile 2013, 20:02:22 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »