Catturare l'immagine di una GridView con il Componente gb.media
Vai alla navigazione
Vai alla ricerca
Per catturare l'immagine di una GridView con il Componente gb.media, è possibile usare il seguente codice: [nota 1]
Public Sub Form_Open()
Dim r, c As Byte
With GridView1
.Rows.Count = 5
.Columns.Count = 5
End With
For r = 0 To 4
For c = 0 To 4
GridView1[r, c].Text = "abcde"
Next
Next
End
Public Sub Button1_Click()
Dim pl As MediaPipeline
Dim src, enc, snk As MediaControl
pl = New MediaPipeline
src = New MediaControl(pl, "ximagesrc")
' Assegna alla proprietà "xid" del plugin "ximagesrc" il numero idetificativo della "GridView", affinché ne catturi quanto da essa visualizzato:
src["xid"] = GridView1.Id
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 della GridView:
pl.Play()
pl.Stop()
pl.Close()
Print "Cattura immagine effettuata"
End
In quest'altro esempio l'immagine della GridView sarà salvata in un file di formato PNG:
Public Sub Form_Open()
Dim r, c As Byte
With GridView1
.Rows.Count = 5
.Columns.Count = 5
End With
For r = 0 To 4
For c = 0 To 4
GridView1[r, c].Text = "abcde"
Next
Next
End
Public Sub Button1_Click()
Dim pl As MediaPipeline
Dim src, vdc, enc, snk As MediaControl
pl = New MediaPipeline
src = New MediaControl(pl, "ximagesrc")
src["xid"] = GridView1.Id
vdc = New MediaControl(pl, "videoconvert")
enc = New MediaControl(pl, "pngenc")
snk = New MediaControl(pl, "filesink")
snk["location"] = "/tmp/immagine.png"
src.LinkTo(vdc)
vdc.LinkTo(enc)
enc.LinkTo(snk)
pl.Play()
pl.Stop()
pl.Close()
Print "Cattura immagine effettuata"
End
Note
[1] Vedere anche le seguenti pagine: