Differenze tra le versioni di "Salvare un file immagine con le funzioni del API di GDK-PixBuf"
Da Gambas-it.org - Wikipedia.
Riga 1: | Riga 1: | ||
'''GDK-PixBuf''' è una libreria grafica per il caricamento e la manipolazione delle immagini. | '''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 | + | Alcune sue funzioni ci consentono di salvare file immagine. Sarà necessario richiamare la libreria condivisa: "''libgtk-3.so.0.2404.16'' ". |
E' possibile salvare nei seguenti formati: ''JPEG'', ''PNG'', ''BMP'' e ''TIFF''. | E' possibile salvare nei seguenti formati: ''JPEG'', ''PNG'', ''BMP'' e ''TIFF''. | ||
Relativamente all'individuazione dei formati va precisato che: | 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''", "''tiff''"; | + | * nel 3° parametro della funzione ''gdk_pixbuf_save()'' va specificato il formato con una stringa: "''jpeg'' " o "''png'' " o "''bmp'' ", "''tiff'' "; |
− | * se si intende salvare nel formato ''jpeg'' oppure nel formato ''tiff'', bisognerà indicare nel 3° parametro (il tipo) rispettivamente "''jpeg''" e "''tiff''"; | + | * se si intende salvare nel formato ''jpeg'' oppure nel formato ''tiff'', bisognerà indicare nel 3° parametro (il tipo) rispettivamente "''jpeg'' " e "''tiff'' "; |
* 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. | * 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: | 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. | + | Library "libgtk-3:0.2404.16" |
<FONT Color=gray>' ''GdkPixbuf * gdk_pixbuf_new_from_file (const char *filename, GError **error)'' | <FONT Color=gray>' ''GdkPixbuf * gdk_pixbuf_new_from_file (const char *filename, GError **error)'' | ||
Riga 21: | Riga 21: | ||
' ''Saves pixbuf to a file in format type. By default, "jpeg", "png", "ico" and "bmp" are possible file formats to save in.''</font> | ' ''Saves pixbuf to a file in format type. By default, "jpeg", "png", "ico" and "bmp" are possible file formats to save in.''</font> | ||
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) | 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) | ||
+ | |||
+ | <FONT Color=gray>' ''void g_object_unref (gpointer object)'' | ||
+ | ' ''Decreases the reference count of object.''</font> | ||
+ | Private Extern g_object_unref(_object As Pointer) | ||
Riga 27: | Riga 31: | ||
Dim pixbuf As Pointer | Dim pixbuf As Pointer | ||
− | + | pixbuf = gdk_pixbuf_new_from_file("<FONT Color=gray>''/percorso/del/file/immagine/da/caricare''</font>", 0) | |
+ | If pixbuf == 0 Then Error.Raise("Errore !") | ||
− | + | gdk_pixbuf_save(pixbuf, "''/percorso/del/nuovo/file.jpg''", "jpeg", 0, "quality", "70") | |
+ | |||
+ | g_object_unref(pixbuf) | ||
'''End''' | '''End''' |
Versione delle 17:32, 26 dic 2021
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 condivisa: "libgtk-3.so.0.2404.16 ".
E' possibile salvare nei seguenti formati: JPEG, PNG, BMP e TIFF.
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 ", "tiff ";
- se si intende salvare nel formato jpeg oppure nel formato tiff, bisognerà indicare nel 3° parametro (il tipo) rispettivamente "jpeg " e "tiff ";
- 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.2404.16" ' 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) ' void g_object_unref (gpointer object) ' Decreases the reference count of object. Private Extern g_object_unref(_object As Pointer) Public Sub Main() Dim pixbuf As Pointer pixbuf = gdk_pixbuf_new_from_file("/percorso/del/file/immagine/da/caricare", 0) If pixbuf == 0 Then Error.Raise("Errore !") gdk_pixbuf_save(pixbuf, "/percorso/del/nuovo/file.jpg", "jpeg", 0, "quality", "70") g_object_unref(pixbuf) End