|
|
(4 versioni intermedie di uno stesso utente non sono mostrate) |
Riga 1: |
Riga 1: |
− | Il Componente ''gb.media'' ci permette, fra l'altro, di mostrare file immagine con le medesime modalità e opportunità previste per i file video.
| + | #REDIRECT [[Guide_della_comunità#Gestione_delle_immagini_con_il_Componente_gb.media]] |
− | | |
− | | |
− | ==Uso della Classe ''MediaPlayer''==
| |
− | Innanzitutto possiamo utilizzare la Classe "''MediaPlayer''" per un breve codice e per una veloce soluzione. Potremo mostrare l'immegine all'interno di un oggetto GUI nativo di Gambas, oppure all'interno di una finestra esterna creata automaticamente dalle risorse del Componente ''gb.media'' .
| |
− | | |
− | ===Mostrare l'immagine all'interno di un oggetto GUI===
| |
− | Rispetto alla consueta modalità di caricare e di mostrare file immagine mediante la Classe ''PictureBox'', le risorse del Componente ''gb.media'' ci consentono di mostrare l'immagine in qualsiasi oggetto che abbia una superficie.
| |
− | | |
− | Nell'esempio pratico che segue imposteremo una ''DrawingArea'' come oggetto GUI, nel quale mostrare il file immagine:
| |
− | Private mp As MediaPlayer
| |
− |
| |
− |
| |
− | '''Public''' Sub Form_Open()
| |
− |
| |
− | Dim da As DrawingArea
| |
− |
| |
− | <FONT Color=gray>' ''Crea una "DrawingArea" come oggetto GUI da usare per l'uscita immagine'':</font>
| |
− | With da = New DrawingArea(Me)
| |
− | .X = 10
| |
− | .Y = 10
| |
− | .W = 300
| |
− | .H = 300
| |
− | End With
| |
− |
| |
− | With mp = New MediaPlayer
| |
− | .URL = Media.URL("<FONT Color=gray>''/percorso/del/file/immagine''</font>")
| |
− | <FONT Color=gray>' ''Imposta il controllo dell'uscita immagine da usare:''</font>
| |
− | .SetWindow(da)
| |
− | End With
| |
− |
| |
− | '''End'''
| |
− |
| |
− |
| |
− | '''Public''' Sub Button1_Click()
| |
− |
| |
− | <FONT Color=gray>' ''Mostra il file immagine:''</font>
| |
− | mp.Play()
| |
− |
| |
− | '''End'''
| |
− | | |
− | | |
− | ===Mostrare l'immagine all'interno di una finestra esterna===
| |
− | Possiamo decidere di far mostrare l'immagine all'interno di una finestra esterna al programma Gambas, creata automaticamente della risorse del sistema ''GStreamer'', sul quale si basa il Componente ''gb.media'' .
| |
− | | |
− | Di seguito un semplice codice analogo al pecedente:
| |
− | Private mp As MediaPlayer
| |
− |
| |
− |
| |
− | '''Public''' Sub Form_Open()
| |
− |
| |
− | mp = New MediaPlayer
| |
− | mp.URL = Media.URL("<FONT Color=gray>''/percorso/del/file/immagine''</font>")
| |
− |
| |
− | '''End'''
| |
− |
| |
− |
| |
− | '''Public''' Sub Button1_Click()
| |
− |
| |
− | <FONT Color=gray>' ''Mostra il file immagine:''</font>
| |
− | mp.Play()
| |
− |
| |
− | '''End'''
| |
− | | |
− | | |
− | ==Uso delle Classi ''MediaPipeline'' e ''MediaControl''==
| |
− | Volendo, è possibile utilizzare le Classi "''MediaPipeline''" e "''MediaControl''" del Componente ''gb.media'' anziché quella sopra vista ''Medialayer''.
| |
− | | |
− | | |
− | ===Mostrare un file immagine di formato ''JPEG''===
| |
− | Per mostrare un file immagine di formato "''jpeg''" all'interno della superficie di un Oggetto posto sul ''Form'', possiamo adottare il seguente codice:
| |
− | Private pl As MediaPipeline
| |
− |
| |
− |
| |
− | '''Public''' Sub Form_Open()
| |
− |
| |
− | Dim da As DrawingArea
| |
− | Dim src, jde, frz, con, sca, xim As MediaControl
| |
− |
| |
− | <FONT Color=gray>' ''Crea una "DrawingArea" come oggetto GUI da usare per l'uscita immagine'':</font>
| |
− | With da = New DrawingArea(Me)
| |
− | .X = 10
| |
− | .Y = 10
| |
− | .W = 300
| |
− | .H = 300
| |
− | End With
| |
− |
| |
− | pl = New MediaPipeline
| |
− |
| |
− | src = New MediaControl(pl, "filesrc")
| |
− | src["location"] = "<FONT Color=gray>''/percorso/del/file/immagine.jpg''</font>"
| |
− | jde = New MediaControl(pl, "<FONT Color=#B22222>jpegdec</font>")
| |
− | con = New MediaControl(pl, "videoconvert")
| |
− | sca = New MediaControl(pl, "videoscale")
| |
− | xim = New MediaControl(pl, "ximagesink")
| |
− | xim.SetWindow(da)
| |
− |
| |
− | <FONT Color=gray>' ''Vengono collegati i vari plug-in di GStreamer utilizzati:''</font>"
| |
− | src.LinkTo(jde)
| |
− | jde.LinkTo(con)
| |
− | con.LinkTo(sca)
| |
− | sca.LinkTo(xim)
| |
− |
| |
− | '''End'''
| |
− |
| |
− |
| |
− | '''Public''' Sub Button1_Click()
| |
− |
| |
− | pl.Play()
| |
− |
| |
− | '''End'''
| |
− | | |
− | | |
− | ===Mostrare un file immagine di formato ''PNG''===
| |
− | Analogamente al codice precedente, per mostrare un file immagine di formato "''png''" all'interno della superficie di un Oggetto posto sul ''Form'', possiamo adottare il seguente codice:
| |
− | Private pl As MediaPipeline
| |
− |
| |
− |
| |
− | '''Public''' Sub Form_Open()
| |
− |
| |
− | Dim da As DrawingArea
| |
− | Dim src, jde, frz, con, sca, xim As MediaControl
| |
− |
| |
− | <FONT Color=gray>' ''Crea una "DrawingArea" come oggetto GUI da usare per l'uscita immagine'':</font>
| |
− | With da = New DrawingArea(Me)
| |
− | .X = 10
| |
− | .Y = 10
| |
− | .W = 300
| |
− | .H = 300
| |
− | End With
| |
− |
| |
− | pl = New MediaPipeline
| |
− |
| |
− | src = New MediaControl(pl, "filesrc")
| |
− | src["location"] = "<FONT Color=gray>''/percorso/del/file/immagine.png''</font>"
| |
− | jde = New MediaControl(pl, "<FONT Color=#B22222>pngdec</font>")
| |
− | con = New MediaControl(pl, "videoconvert")
| |
− | sca = New MediaControl(pl, "videoscale")
| |
− | xim = New MediaControl(pl, "ximagesink")
| |
− | xim.SetWindow(da)
| |
− |
| |
− | <FONT Color=gray>' ''Vengono collegati i vari plug-in di GStreamer utilizzati:''</font>"
| |
− | src.LinkTo(jde)
| |
− | jde.LinkTo(con)
| |
− | con.LinkTo(sca)
| |
− | sca.LinkTo(xim)
| |
− |
| |
− | '''End'''
| |
− |
| |
− |
| |
− | '''Public''' Sub Button1_Click()
| |
− |
| |
− | pl.Play()
| |
− |
| |
− | '''End'''
| |
− | | |
− | | |
− | ===Mostrare un file immagine di formato ''BMP''===
| |
− | Analogamente al codice precedente, per mostrare un file immagine di formato "''bmp''" all'interno della superficie di un Oggetto posto sul ''Form'', possiamo adottare il seguente codice:
| |
− | Private pl As MediaPipeline
| |
− |
| |
− |
| |
− | '''Public''' Sub Form_Open()
| |
− |
| |
− | Dim da As DrawingArea
| |
− | Dim src, jde, frz, con, sca, xim As MediaControl
| |
− |
| |
− | <FONT Color=gray>' ''Crea una "DrawingArea" come oggetto GUI da usare per l'uscita immagine'':</font>
| |
− | With da = New DrawingArea(Me)
| |
− | .X = 10
| |
− | .Y = 10
| |
− | .W = 300
| |
− | .H = 300
| |
− | End With
| |
− |
| |
− | pl = New MediaPipeline
| |
− |
| |
− | src = New MediaControl(pl, "filesrc")
| |
− | src["location"] = "<FONT Color=gray>''/percorso/del/file/immagine.bmp''</font>"
| |
− | jde = New MediaControl(pl, "<FONT Color=#B22222>gdkpixbufdec</font>")
| |
− | con = New MediaControl(pl, "videoconvert")
| |
− | sca = New MediaControl(pl, "videoscale")
| |
− | xim = New MediaControl(pl, "ximagesink")
| |
− | xim.SetWindow(da)
| |
− |
| |
− | <FONT Color=gray>' ''Vengono collegati i vari plug-in di GStreamer utilizzati:''</font>"
| |
− | src.LinkTo(jde)
| |
− | jde.LinkTo(con)
| |
− | con.LinkTo(sca)
| |
− | sca.LinkTo(xim)
| |
− |
| |
− | '''End'''
| |
− |
| |
− |
| |
− | '''Public''' Sub Button1_Click()
| |
− |
| |
− | pl.Play()
| |
− |
| |
− | '''End'''
| |