Salvare un file immagine con le funzioni del API di GDK-PixBuf

Da Gambas-it.org - Wikipedia.
Versione del 28 nov 2014 alle 16:08 di Vuott (Discussione | contributi) (Creata pagina con ''''GDK-PixBuf''' è una libreria grafica per il caricamento e la manipolazione delle immagini. Alcune sue funzioni ci consentono di salvare file immagine. Sarà necessario ri...')

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

GDK-PixBuf è una libreria grafica per il caricamento e la manipolazione delle immagini.

Alcune sue funzioni ci consentono di salvare file immagine. Sarà necessario richiamare la libreria (nell'attuale versione): "libgtk-3.so.0.1000.8"

E' possibile salvare nei seguenti formati: JPEG, PNG e BMP.

Relativamente all'individuazione dei formati va precisato che:

  • nel 3° parametro della funzione gdk_pixbuf_save() va specificato il formato con una stringa: "jpeg" o "png" o "bmp";
  • per il formato JPEG può essere specificata la qualità, assegnando al 5° parametro della predetta funzione la stringa "quality" e al 6° parametro il grado di qualità da 0 a 100.


Nell'esempio che segue si caricherà un file immagine e lo si salverà nel nuovo formato jpeg, impostando la qualità a 70:

Library "libgtk-3:0.1000.8"

' GdkPixbuf * gdk_pixbuf_new_from_file (const char *filename, GError **error)
' Creates a new pixbuf by loading an image from a file.
Private Extern gdk_pixbuf_new_from_file(filename As String, GError As Pointer) As Pointer

' gboolean gdk_pixbuf_save (GdkPixbuf *pixbuf, const char *filename, const char *type, GError **error, ...)
' Saves pixbuf to a file in format type. By default, "jpeg", "png", "ico" and "bmp" are possible file formats to save in.
Private Extern gdk_pixbuf_save(GdkPixbuf As Pointer, filename As String, type As String, err As Pointer, Optional qualitas As String, Optional valore As String)


Public Sub Main()

 Dim pixbuf As Pointer

  pixbuf = gdk_pixbuf_new_from_file("/percorso/del/file/immagine/da/caricare", 0)
 
  gdk_pixbuf_save(pixbuf, "/percorso/del/nuovo/file.jpg", "jpeg", 0, "quality", "70")

End



Riferimenti