Catturare un'immagine con una webcam mediante il Componente gb.media

Da Gambas-it.org - Wikipedia.

Per catturare un'immagine (come se in sostanza si scattasse una foto) con una webcam mediante il Componente gb.media [nota 1] e salvarla poi in un file immagine, si potranno utilizzare le Classi MediaPipeline e MediaControl.

Mostriamo un esempio pratico:

Public Sub Main()

 Dim pl As MediaPipeline
 Dim src, enc, snk As MediaControl

 pl = New MediaPipeline 

 src = New MediaControl(pl, "v4l2src")
' Cattura un fotogramma dalla webcam e lo salva come immagine jpeg:
 src["num-buffers"] = 1
 enc = New MediaControl(pl, "jpegenc")
 snk = New MediaControl(pl, "filesink")
 snk["location"] = "/tmp/immagine.jpg"
  
' Collega fra loro i plugin di "GStreamer":
 src.LinkTo(enc)
 enc.LinkTo(snk)
  
' Effettua la ripresa dell'immagine:
 pl.Play()
  
' Con alcune webcam può essere necessario porre una breve pausa per consentire la ripresa dell'immagine:
 Wait 1

 pl.Stop()
 pl.Close()
 Print "Cattura immagine effettuata"
  
End


Note

[1] Vedere al riguardo anche questa pagina della wiki: Estrarre e salvare singole immagini da una ripresa video mediante WebCam effettuata con il Componente gb.media