Differenze tra le versioni di "Ottenere un file png dalla mappa mostrata da una MapView"

Da Gambas-it.org - Wikipedia.
Riga 1: Riga 1:
Possiamo ottenere un file di formato PNG dalla mappa mostrata da una MapView, usando anche le risorse del Componente ''gb.media''.
+
Possiamo ottenere un file di formato PNG dalla mappa mostrata da una MapView, usando anche le risorse del Componente ''gb.media''. <SUP>&#091;[[#Note|nota 1]]&#093;</sup>
  
 
Mostriamo un esempio pratico (è necessario attivare anche i Componenti ''gb.map'' e ''gb.media'' ):
 
Mostriamo un esempio pratico (è necessario attivare anche i Componenti ''gb.map'' e ''gb.media'' ):
Riga 51: Riga 51:
 
   
 
   
 
  End
 
  End
 +
 +
 +
 +
=Note=
 +
[1] Vedere anche: [[Ottenere un'Image dalla mappa mostrata da una MapView]]

Versione delle 04:14, 5 giu 2024

Possiamo ottenere un file di formato PNG dalla mappa mostrata da una MapView, usando anche le risorse del Componente gb.media. [nota 1]

Mostriamo un esempio pratico (è necessario attivare anche i Componenti gb.map e gb.media ):

Private MapView1 As MapView


Public Sub Form_Open()

 Dim mp As New MapPoint(41.89030, 12.49237)

 With Me
   .W = Screen.AvailableWidth
   .H = Screen.Height * 0.9
   .Arrangement = Arrange.Fill
 End With

 With MapView1 = New MapView(Me) As "MapView1"
   .Map.AddTile("GoogleMap", "https://mt0.google.com/vt/lyrs=s&hl=&x={x}&y={y}&z={z}")
   .Map.Zoom = 15
   .Map.Center = mp
 End With

End


Public Sub MapView1_MouseUp()

' Se si clicca sulla "MapView" con il tasto destro del mouse, si avvierà la procedura per ottenere il file PNG:
 If Not Mouse.Right Then Return 

 Dim pl As MediaPipeline
 Dim src, con, png, snk As MediaControl

 pl = New MediaPipeline

 src = New MediaControl(pl, "ximagesrc")
 src["xid"] = MapView1.Id  ' Assegna il numero identificativo della "MapView", della quale si otterrà il file PNG
 con = New MediaControl(pl, "videoconvert")
 png = New MediaControl(pl, "pngenc")
 snk = New MediaControl(pl, "filesink")
 snk["location"] = "/tmp/immagine_mappa.png"

 src.LinkTo(con)
 con.LinkTo(png)
 png.LinkTo(snk)

' Crea il file PNG e poi chiude il flusso di dati:
 pl.Play()
 pl.Stop()
 pl.Close

End


Note

[1] Vedere anche: Ottenere un'Image dalla mappa mostrata da una MapView