Differenze tra le versioni di "Catturare l'immagine di una GridView con il Componente gb.media"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "Per catturare l'immagine di una GridView con il Componente gb.media, è possibile usare il seguente codice: Public Sub Form_Open() Dim r, c As Byte With GridView1...")
 
 
Riga 1: Riga 1:
Per catturare l'immagine di una GridView con il Componente gb.media, è possibile usare il seguente codice:
+
Per catturare l'immagine di una GridView con il Componente gb.media, è possibile usare il seguente codice: <SUP>&#091;[[#Note|nota 1]]&#093;</sup>
 
  Public Sub Form_Open()
 
  Public Sub Form_Open()
 
   
 
   
Riga 44: Riga 44:
 
   Wait 1
 
   Wait 1
 
   
 
   
 +
<FONT Color=gray>' ''L'immagine della ''GridView'' è salvata in un file di formato JPG:''</font>
 
   Copy appoggio To "/tmp/immagine.jpg"
 
   Copy appoggio To "/tmp/immagine.jpg"
 +
 +
  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
 +
  Dim appoggio As String
 +
 +
  appoggio = Temp
 +
 +
  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"] = appoggio
 +
 +
  src.LinkTo(vdc)
 +
  vdc.LinkTo(enc)
 +
  enc.LinkTo(snk)
 +
 +
  pl.Play()
 +
 +
  Repeat
 +
    Wait 0.01
 +
  Until Right(File.Load(appoggio), SizeOf(gb.Integer)) = MkInt(&826042AE)
 +
 +
<FONT Color=gray>' ''L'immagine della ''GridView'' è salvata in un file di formato PNG:''</font>
 +
  Copy appoggio To "/tmp/immagine.png"
 
   
 
   
 
   pl.Stop()
 
   pl.Stop()
Riga 55: Riga 109:
  
 
=Note=
 
=Note=
[1] Vedere anche la seguente pagina: [[Ottenere_una_schermata_("screenshot")_con_Gambas#Uso_delle_risorse_del_Componente_gb.media]]
+
[1] Vedere anche le seguenti pagine:
 +
* [[Ottenere_una_schermata_("screenshot")_con_Gambas#Uso_delle_risorse_del_Componente_gb.media|Ottenere una schermata ("screenshot") con l'uso delle risorse del Componente gb.media]]
 +
* [[Convertire i formati immagine mediante il Componente gb.media]]

Versione attuale delle 10:54, 13 mag 2023

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
 Dim appoggio As String

 appoggio = Temp

 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"] = appoggio

' Collega fra loro i plugin di "GStreamer":
 src.LinkTo(enc)
 enc.LinkTo(snk)
 
' Effettua la ripresa dell'immagine della GridView:
 pl.Play()
 
' Può essere necessario porre una breve pausa per consentire la cattura dell'immagine:
 Wait 1

' L'immagine della GridView è salvata in un file di formato JPG:
 Copy appoggio To "/tmp/immagine.jpg"

 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
 Dim appoggio As String

 appoggio = Temp

 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"] = appoggio

 src.LinkTo(vdc)
 vdc.LinkTo(enc)
 enc.LinkTo(snk)

 pl.Play()

 Repeat 
   Wait 0.01
 Until Right(File.Load(appoggio), SizeOf(gb.Integer)) = MkInt(&826042AE)

' L'immagine della GridView è salvata in un file di formato PNG:
 Copy appoggio To "/tmp/immagine.png"

 pl.Stop()
 pl.Close()
 Print "Cattura immagine effettuata"

End


Note

[1] Vedere anche le seguenti pagine: