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.
Riga 1: | Riga 1: | ||
− | 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à. | + | 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à. <SUP>[[[#Note|nota 1]]]</sup> |
==Uso delle Classi ''MediaPipeline'' e ''MediaControl'' del Componente gb.media== | ==Uso delle Classi ''MediaPipeline'' e ''MediaControl'' del Componente gb.media== | ||
Riga 54: | Riga 54: | ||
End | End | ||
+ | |||
+ | |||
+ | |||
+ | =Note= | ||
+ | [1] Vedere anche queste pagine: | ||
+ | * [[Generare un file immagine da una DrawingArea]] | ||
+ | * [[Ottenere una schermata ("screenshot") con Gambas]] |
Versione attuale delle 18:23, 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à. [nota 1]
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 ' Collega fra loro i plugin di "GStreamer": xis.LinkTo(con) con.LinkTo(enc) enc.LinkTo(snk) ' Effettua la cattura di quanto mostrato dalla "DrawingArea" costitutiva del Controllo "MediaView": pl.Play() Repeat Wait 0.01 Until Stat(temporaneo).Size > 0 ' Salva il file immagine di formato "png" nella cartella "/tmp": Copy temporaneo To "/tmp" &/ Format(Now, "dd_mm_yyyy-hh_nn_ss") & ".png" pl.Stop pl.Close End
Note
[1] Vedere anche queste pagine: