Differenze tra le versioni di "Convertire i formati immagine mediante il Componente gb.media"
Da Gambas-it.org - Wikipedia.
Riga 19: | Riga 19: | ||
enc = New MediaControl(pl, "<FONT Color=#B22222>avenc_bmp</font>") | enc = New MediaControl(pl, "<FONT Color=#B22222>avenc_bmp</font>") | ||
snk = New MediaControl(pl, "filesink") | snk = New MediaControl(pl, "filesink") | ||
− | snk["location"] = | + | snk["location"] = primofile |
<FONT Color=gray>' ''Colleghiamo fra loro all'interno della pipeline gli oggetti MediaControl impostati:''</font> | <FONT Color=gray>' ''Colleghiamo fra loro all'interno della pipeline gli oggetti MediaControl impostati:''</font> | ||
Riga 40: | Riga 40: | ||
'''End''' | '''End''' | ||
− | + | ===Conversione immagine nel formato JPG=== | |
Riprendendo il codice precedente, bisognerà sostituire le seguenti righe di comando a quelle corrispondenti in quel codice: | Riprendendo il codice precedente, bisognerà sostituire le seguenti righe di comando a quelle corrispondenti in quel codice: | ||
...... | ...... | ||
Riga 52: | Riga 52: | ||
...... | ...... | ||
− | + | ===Conversione immagine nel formato PNG=== | |
Riprendendo il primo codice, bisognerà sostituire le seguenti righe di comando a quelle corrispondenti in quel codice: | Riprendendo il primo codice, bisognerà sostituire le seguenti righe di comando a quelle corrispondenti in quel codice: | ||
...... | ...... | ||
Riga 64: | Riga 64: | ||
...... | ...... | ||
− | + | ===Conversione immagine nel formato TIFF=== | |
Riprendendo il primo codice, bisognerà sostituire le seguenti righe di comando a quelle corrispondenti in quel codice. | Riprendendo il primo codice, bisognerà sostituire le seguenti righe di comando a quelle corrispondenti in quel codice. | ||
<BR>Ovviamente in tal caso il file originario, da convertire, sarà di formato diverso dal TIFF. | <BR>Ovviamente in tal caso il file originario, da convertire, sarà di formato diverso dal TIFF. |
Versione delle 18:24, 6 ott 2022
Utilizzando i plugin di GStreamer con le Classi MediaControl e MediaPipeline del Componente gb.media, è possibile effettuare diverse conversioni di file immagine da un formato ad un altro.
Mostriamo di seguito qualche esempio pratico.
Indice
Conversione immagine da un qualunque formato al formato BMP
Public Sub Main() Dim pl As New MediaPipeline Dim src, deb, vdc, enc, snk As MediaControl Dim primofile As String Dim i As Integer primofile = Temp src = New MediaControl(pl, "filesrc") src["location"] = "/percorso/del/file.tif" deb = New MediaControl(pl, "decodebin") vdc = New MediaControl(pl, "videoconvert") enc = New MediaControl(pl, "avenc_bmp") snk = New MediaControl(pl, "filesink") snk["location"] = primofile ' Colleghiamo fra loro all'interno della pipeline gli oggetti MediaControl impostati: src.LinkTo(deb) deb.LinkLaterTo(vdc) vdc.LinkTo(enc) enc.LinkTo(snk) pl.Play() Repeat i = Stat(primofile).Size Wait 0.7 Until Stat(primofile).Size == i Copy primofile To "/tmp/immagine.bmp" pl.Close End
Conversione immagine nel formato JPG
Riprendendo il codice precedente, bisognerà sostituire le seguenti righe di comando a quelle corrispondenti in quel codice:
...... enc = New MediaControl(pl, "jpegenc") ...... Repeat Wait 0.01 Until Right(File.Load(primofile), SizeOf(gb.Short)) = MkShort(&D9FF) Copy primofile To "/tmp/immagine.jpg" ......
Conversione immagine nel formato PNG
Riprendendo il primo codice, bisognerà sostituire le seguenti righe di comando a quelle corrispondenti in quel codice:
...... enc = New MediaControl(pl, "pngenc") ...... Repeat Wait 0.01 Until Right(File.Load(primofile), SizeOf(gb.Integer)) = MkInt(&826042AE) Copy primofile To "/tmp/immagine.png" ......
Conversione immagine nel formato TIFF
Riprendendo il primo codice, bisognerà sostituire le seguenti righe di comando a quelle corrispondenti in quel codice.
Ovviamente in tal caso il file originario, da convertire, sarà di formato diverso dal TIFF.
...... enc = New MediaControl(pl, "avenc_tiff") ...... Repeat Wait 1 Until Stat(primofile).Size > 0 Copy primofile To "/tmp/immagine.tif" ......