Convertire i formati immagine mediante il Componente gb.media

Da Gambas-it.org - Wikipedia.

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.

Conversione immagine dal formato TIFF 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 = "/tmp/primofile"
  
 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 dal formato TIFF al formato JPG

Riprendendo il codice precedente, bisognerà sostituire le seguenti righe di comando a quelle corrispondenti in quel codice:

......
enc = New MediaControl(pl, "jpegenc")
......
Copy primofile To "/tmp/immagine.jpg"