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

Da Gambas-it.org - Wikipedia.

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

Mostriamo di seguito un semplice esempio:

Private Const SCALA as Float = 2.835


Public Sub Form_Open()
 
 Dim png As CairoSvgSurface
 Dim im As Image

 im = Image.Load("/percorso/del/file/immagine")
 
' Specifica la superficie grafica da creare per disegnarvi sopra:
 png = New CairoSvgSurface(Null, im.W / SCALA, im.H / SCALA)
 
' Inizia il disegno sulla superficie impostata:
 Cairo.Begin(png)

' Viene inserita l'immagine caricata nella superficie png:
 Cairo.Scale(1, 1)      ' Non imposta alcuna modifica scalare all'immagine
 Cairo.Source = Cairo.ImagePattern(im, 0, 0)
 Cairo.Paint

' Termina il disegno:
 Cairo.End
 
 png.Save("/percorso/del/file.png")

 png.Finish()

End