Ottenere l'immagine della finestra di un programma
Vai alla navigazione
Vai alla ricerca
Uso delle risorse del Componente gb.media
Nel seguente codice si otterrà l'immagine di una GridView.
Ovviamente è necessario attivare il Componente gb.media .
Private GridView1 As GridView
Private Button1 As Button
Public Sub Form_Open()
With GridView1 = New GridView(Me)
.Move(0, 0, 300, 100)
.Rows.Count = 5
.Columns.Count = 5
End With
For r As Byte = 0 To GridView1.Rows.Max
For c As Byte = 0 To GridView1.Columns.Max
GridView1[r, c].Text = "abcde"
Next
Next
With Button1 = New Button(Me) As "Button1"
.Move(60, 60, Me.W - (Button1.W * 2), Me.H - (Button1.H * 2))
End With
End
Public Sub Button1_Click()
Dim pl As MediaPipeline
Dim src, vdc, enc, snk As MediaControl
pl = New MediaPipeline
src = New MediaControl(pl, "ximagesrc")
' Assegna l'ID della finestra del programma:
src["xid"] = ......
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