Differenze tra le versioni di "Convertire un file PNG in SVG con le risorse del Componente gb.cairo"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "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 su...")
 
 
Riga 6: Riga 6:
 
   
 
   
 
   
 
   
  '''Public''' Sub Main()
+
  Public Sub Main()
 
    
 
    
  Dim svg As CairoSvgSurface
+
  Dim svg As CairoSvgSurface
  Dim im As Image
+
  Dim im As Image
 
    
 
    
 
  <FONT Color=gray>' ''Viene caricato il file PNG da convertire in file SVG:''</font>
 
  <FONT Color=gray>' ''Viene caricato il file PNG da convertire in file SVG:''</font>
   im = Image.Load("<FONT Color=gray>''/percorso/del/file.png''</font>")
+
   im = Image.Load("<FONT Color=darkgreen>''/percorso/del/file.'''png'''''</font>")
 
    
 
    
 
  <FONT Color=gray>' ''Specifica la superficie grafica SVG da creare per disegnarvi sopra:''</font>
 
  <FONT Color=gray>' ''Specifica la superficie grafica SVG da creare per disegnarvi sopra:''</font>
   svg = New CairoSvgSurface("<FONT Color=gray>''/percorso/del/file.svg''</font>", im.W / SCALA, im.H / SCALA)
+
   svg = New CairoSvgSurface("<FONT Color=darkgreen>''/percorso/del/file.'''svg'''''</font>", im.W / SCALA, im.H / SCALA)
 
    
 
    
 
  <FONT Color=gray>' ''Inizia il disegno sulla superficie impostata:''</font>
 
  <FONT Color=gray>' ''Inizia il disegno sulla superficie impostata:''</font>
Riga 29: Riga 29:
 
   svg.Finish
 
   svg.Finish
 
   
 
   
  '''End'''
+
  End

Versione attuale delle 16:28, 3 lug 2024

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