Convertire un file PNG in SVG con le risorse del Componente gb.cairo

Da Gambas-it.org - Wikipedia.

Con le risorse del Componente gb.cairo è possibile ottenere un file immagine SVG da un file immagine di formato PNG, avendo l'accortezza di scalare le dimensioni della superficie dell'immagine SVG di un valore pari a 2,83. Ciò comporterà, comunque, una riduzione della dimensione in pixel dell'immagine SVG risultante.


Mostriamo di seguito un semplice esempio:

Private Const SCALA As Float = 2.83


Public Sub Main()
 
 Dim svg As CairoSvgSurface
 Dim im As Image
 
' Viene caricato il file PNG da convertire in file SVG:
  im = Image.Load("/percorso/del/file.png")
  
' Specifica la superficie grafica SVG da creare per disegnarvi sopra:
  svg = New CairoSvgSurface("/percorso/del/file.svg", im.W / SCALA, im.H / SCALA)
  
' Inizia il disegno sulla superficie impostata:
  Cairo.Begin(svg)
  Cairo.Scale(1, 1)
  Cairo.Source = Cairo.ImagePattern(im, 0, 0)
' Imposta l'immagine sulla superficie SVG:
  Cairo.Paint
  
' Termina il disegno:
  Cairo.End

  svg.Finish

End