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.
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 | + | Per poter fruire in Gambas delle risorse di questa libreria è necessario installare e richiamare la libreria condivisa: "''libgdk_pixbuf-2.0.so.0.4200.12'' ". |
Mostriamo un semplice esempio: | Mostriamo un semplice esempio: | ||
− | Library "libgdk_pixbuf-2.0:0.4200. | + | Library "libgdk_pixbuf-2.0:0.4200.12" |
<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: | ||
− | + | Public Sub Main() | |
Dim pixbuf, err As Pointer | Dim pixbuf, err As Pointer | ||
− | Dim imm As String = "<FONT Color= | + | Dim imm As String = "<FONT Color=darkgreen>''/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)) | ||
Riga 35: | Riga 35: | ||
g_object_unref(pixbuf) | g_object_unref(pixbuf) | ||
− | + | End | |
Versione attuale delle 03:38, 6 giu 2024
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: "libgdk_pixbuf-2.0.so.0.4200.12 ".
Mostriamo un semplice esempio:
Library "libgdk_pixbuf-2.0:0.4200.12" ' 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