Differenze tra le versioni di "Catturare singole immagini da una ripresa video di una webcam mediante il Controllo MediaView del Componente gb.media.form"
Da Gambas-it.org - Wikipedia.
(Creata pagina con "Per catturare singole immagini da una ripresa video di una webcam mediante il Controllo ''MediaView'' del Componente gb.media.form, si possono usare alcune modalità. ==Uso d...") |
(Nessuna differenza)
|
Versione delle 18:12, 23 dic 2023
Per catturare singole immagini da una ripresa video di una webcam mediante il Controllo MediaView del Componente gb.media.form, si possono usare alcune modalità.
Uso delle Classi MediaPipeline e MediaControl del Componente gb.media
Mostriamo un esempio pratico:
Public Sub Form_Open() MediaView1.URL = "v4l2:///dev/video0" MediaView1.Play() End Public Sub Button1_Click() Dim pl As MediaPipeline Dim xis, con, enc, snk As MediaControl Dim temporaneo As String Dim ob1, ob2, ob3 As Object Dim DrawingArea1 As DrawingArea ob1 = MediaView1.Children[0] ob2 = ob1.Children[0] ob3 = ob2.Children[0] DrawingArea1 = ob3.Children[0] temporaneo = Temp pl = New MediaPipeline xis = New MediaControl(pl, "ximagesrc") xis["xid"] = DrawingArea1.Id con = New MediaControl(pl, "videoconvert") enc = New MediaControl(pl, "pngenc") snk = New MediaControl(pl, "filesink") snk["location"] = temporaneo <FONT Color=gray<' Collega fra loro i plugin di "GStreamer":</font> xis.LinkTo(con) con.LinkTo(enc) enc.LinkTo(snk) <FONT Color=gray<' Effettua la cattura di quanto mostrato dalla "DrawingArea" costitutiva del Controllo "MediaView":</font> pl.Play() Repeat Wait 0.01 Until Stat(temporaneo).Size > 0 <FONT Color=gray<' Salva il file immagine di formato "png" nella cartella "/tmp":</font> Copy temporaneo To "/tmp" &/ Format(Now, "dd_mm_yyyy-hh_nn_ss") & ".png" pl.Stop pl.Close End