Differenze tra le versioni di "Salvare un file immagine con le funzioni del API di GDK-PixBuf"

Da Gambas-it.org - Wikipedia.
 
(2 versioni intermedie di uno stesso utente non sono mostrate)
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 (nell'attuale versione): "''libgtk-3.so.0.1000.8''"
+
Alcune sue funzioni ci consentono di salvare file immagine. Sarà necessario richiamare la libreria condivisa: "''libgdk_pixbuf-2.0.so.0.4000.0 '' ".
  
 
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.1000.8"
+
  Library "libgdk_pixbuf-2.0:0.4000.0"
 
   
 
   
 
  <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("''/percorso/del/file/immagine/da/caricare", 0)
+
  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")
+
  gdk_pixbuf_save(pixbuf, "<FONT Color=gray>''/percorso/del/nuovo/file.jpg''</font>", "jpeg", 0, "quality", "70")
 +
 +
  g_object_unref(pixbuf)
 
   
 
   
 
  '''End'''
 
  '''End'''

Versione attuale delle 17:35, 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: "libgdk_pixbuf-2.0.so.0.4000.0 ".

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 "libgdk_pixbuf-2.0:0.4000.0"

' 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



Riferimenti