Differenze tra le versioni di "Convertire i formati immagine mediante il Componente gb.media"

Da Gambas-it.org - Wikipedia.
Riga 4: Riga 4:
  
 
====Conversione immagine dal formato TIFF al formato BMP====
 
====Conversione immagine dal formato TIFF al formato BMP====
 +
Private Const PRIMOFILE As String = "/tmp/primofile"
 +
 +
 
  '''Public''' Sub Main()
 
  '''Public''' Sub Main()
 
    
 
    
 
   Dim pl As New MediaPipeline
 
   Dim pl As New MediaPipeline
 
   Dim src, deb, vdc, enc, snk As MediaControl
 
   Dim src, deb, vdc, enc, snk As MediaControl
  Dim primofile As String
 
 
   Dim i As Integer
 
   Dim i As Integer
 
 
  primofile = "/tmp/primofile"
 
 
    
 
    
 
   src = New MediaControl(pl, "filesrc")
 
   src = New MediaControl(pl, "filesrc")
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"] = primofile
+
   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 30: Riga 30:
 
    
 
    
 
   Repeat  
 
   Repeat  
     i = Stat(primofile).Size
+
     i = Stat(PRIMOFILE).Size
 
     Wait 0.7
 
     Wait 0.7
   Until Stat(primofile).Size == i
+
   Until Stat(PRIMOFILE).Size == i
 
    
 
    
   Copy primofile To "/tmp/immagine.bmp"
+
   Copy PRIMOFILE To "/tmp/immagine.bmp"
 
    
 
    
 
   pl.Close
 
   pl.Close
 
    
 
    
 
  '''End'''
 
  '''End'''
 
  
 
====Conversione immagine dal formato TIFF al formato JPG====
 
====Conversione immagine dal formato TIFF al formato JPG====
Riga 46: Riga 45:
 
  enc = New MediaControl(pl, "<FONT Color=#B22222>jpegenc</font>")
 
  enc = New MediaControl(pl, "<FONT Color=#B22222>jpegenc</font>")
 
  ......
 
  ......
  Copy primofile To "/tmp/immagine.<FONT Color=#B22222>jpg</font>"
+
  Copy PRIMOFILE To "/tmp/immagine.<FONT Color=#B22222>jpg</font>"

Versione delle 16:22, 11 mar 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.

Conversione immagine dal formato TIFF al formato BMP

Private Const PRIMOFILE As String = "/tmp/primofile"


Public Sub Main()
 
 Dim pl As New MediaPipeline
 Dim src, deb, vdc, enc, snk As MediaControl
 Dim i As Integer
  
 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"