Differenze tra le versioni di "Convertire un file immagine di un qualsiasi formato in un file immagine TIFF mediante le funzioni esterne del API di Libgdk pixbuf"

Da Gambas-it.org - Wikipedia.
 
(Una versione intermedia di uno stesso utente non è mostrata)
Riga 3: Riga 3:
 
Con la libreria ''GDK-PixBuf'' è possibile anche di convertire un file immagine di un qualsiasi formato in un file immagine di formato ''TIFF''.
 
Con la libreria ''GDK-PixBuf'' è possibile anche di convertire un file immagine di un qualsiasi formato in un file immagine di formato ''TIFF''.
  
Per poter fruire in Gambas delle risorse di questa libreria è necessario installare e richiamare la libreria condivisa e dinamica: "''libgdk_pixbuf-2.0.so.0.4000.0'' "
+
Per poter fruire in Gambas delle risorse di questa libreria è necessario installare e richiamare la libreria condivisa e dinamica: "''libgdk_pixbuf-2.0.so.0.4200.8'' "
  
 
Mostriamo un semplice esempio:
 
Mostriamo un semplice esempio:
  Library "libgdk_pixbuf-2.0:0.4000.0"
+
  Library "libgdk_pixbuf-2.0:0.4200.8"
 
   
 
   
 
  <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 15: Riga 15:
 
  ' ''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, GErr As Pointer, altro As String) As Boolean
 
  Private Extern gdk_pixbuf_save(GdkPixbuf As Pointer, filename As String, type As String, GErr As Pointer, altro As String) As Boolean
 +
 +
<FONT Color=gray>' ''void g_object_unref (gpointer object)''
 +
' ''Decreases the reference count of object.''</font>
 +
Private Extern g_object_unref(gobject As Pointer)
 
   
 
   
 
   
 
   
Riga 21: Riga 25:
 
   Dim pixbuf, err As Pointer
 
   Dim pixbuf, err As Pointer
 
   Dim imm As String = "<FONT Color=gray>''/percorso/del/file/immagine/da/convertire''</font>"
 
   Dim imm As String = "<FONT Color=gray>''/percorso/del/file/immagine/da/convertire''</font>"
   
+
 
   pixbuf = gdk_pixbuf_new_from_file(imm, VarPtr(err))
 
   pixbuf = gdk_pixbuf_new_from_file(imm, VarPtr(err))
 
   If (Val(String@(err)) <> 0) Or (pixbuf == 0) Then Error.Raise("Impossibile caricare l'immagine !")
 
   If (Val(String@(err)) <> 0) Or (pixbuf == 0) Then Error.Raise("Impossibile caricare l'immagine !")
   
+
 
  <FONT Color=gray>' ''Salviamo il file immagine in formato "TIFF":''</font>
 
  <FONT Color=gray>' ''Salviamo il file immagine in formato "TIFF":''</font>
 
   gdk_pixbuf_save(pixbuf, "''/tmp/file.tif''", "tiff", VarPtr(err), Null)
 
   gdk_pixbuf_save(pixbuf, "''/tmp/file.tif''", "tiff", VarPtr(err), Null)
 
   If Val(String@(err)) <> 0 Then Error.Raise("Impossibile salvare l'immagine in formato TIFF !")
 
   If Val(String@(err)) <> 0 Then Error.Raise("Impossibile salvare l'immagine in formato TIFF !")
       
+
 +
  g_object_unref(pixbuf)
 +
 
  '''End'''
 
  '''End'''
  

Versione attuale delle 15:22, 1 mag 2023

La libreria GDK-PixBuf consente il caricamento delle immagini e la manipolazione del buffer dei pixel.

Con la libreria GDK-PixBuf è possibile anche di convertire un file immagine di un qualsiasi formato in un file immagine di formato TIFF.

Per poter fruire in Gambas delle risorse di questa libreria è necessario installare e richiamare la libreria condivisa e dinamica: "libgdk_pixbuf-2.0.so.0.4200.8 "

Mostriamo un semplice esempio:

Library "libgdk_pixbuf-2.0:0.4200.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, GErr As Pointer, altro As String) As Boolean

' void g_object_unref (gpointer object)
' Decreases the reference count of object.
Private Extern g_object_unref(gobject As Pointer)


Public Sub Main()

 Dim pixbuf, err As Pointer
 Dim imm As String = "/percorso/del/file/immagine/da/convertire"

 pixbuf = gdk_pixbuf_new_from_file(imm, VarPtr(err))
 If (Val(String@(err)) <> 0) Or (pixbuf == 0) Then Error.Raise("Impossibile caricare l'immagine !")

' Salviamo il file immagine in formato "TIFF":
 gdk_pixbuf_save(pixbuf, "/tmp/file.tif", "tiff", VarPtr(err), Null)
 If Val(String@(err)) <> 0 Then Error.Raise("Impossibile salvare l'immagine in formato TIFF !")

 g_object_unref(pixbuf)

End


Riferimenti