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...") |
|||
(Una versione intermedia di uno stesso utente non è mostrata) | |||
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 35: | Riga 35: | ||
snk["location"] = temporaneo | snk["location"] = temporaneo | ||
− | <FONT Color=gray | + | <FONT Color=gray>' ''Collega fra loro i plugin di "GStreamer":''</font> |
xis.LinkTo(con) | xis.LinkTo(con) | ||
con.LinkTo(enc) | con.LinkTo(enc) | ||
enc.LinkTo(snk) | enc.LinkTo(snk) | ||
− | <FONT Color=gray | + | <FONT Color=gray>' ''Effettua la cattura di quanto mostrato dalla "DrawingArea" costitutiva del Controllo "MediaView":''</font> |
pl.Play() | pl.Play() | ||
Riga 47: | Riga 47: | ||
Until Stat(temporaneo).Size > 0 | Until Stat(temporaneo).Size > 0 | ||
− | <FONT Color=gray | + | <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" | Copy temporaneo To "/tmp" &/ Format(Now, "dd_mm_yyyy-hh_nn_ss") & ".png" | ||
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: