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

Da Gambas-it.org - Wikipedia.
 
(7 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
 
La libreria '''GDK-PixBuf''' consente il caricamento delle immagini e la manipolazione del buffer dei pixel.
 
La libreria '''GDK-PixBuf''' consente il caricamento delle immagini e la manipolazione del buffer dei pixel.
  
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.3000.7''"
+
Per poter fruire in Gambas delle risorse di questa libreria è necessario installare e richiamare la libreria condivisa: "''libgdk_pixbuf-2.0.so.0.4200.10'' ".
 
 
  
 
La libreria ''GDK-PixBuf'' consente anche di convertire e salvare un'immagine in un file immagine di formato [http://it.wikipedia.org/wiki/.ico .ICO ]
 
La libreria ''GDK-PixBuf'' consente anche di convertire e salvare un'immagine in un file immagine di formato [http://it.wikipedia.org/wiki/.ico .ICO ]
 
<BR>Ne mostriamo un semplice esempio:
 
<BR>Ne mostriamo un semplice esempio:
  Library "libgdk_pixbuf-2.0:0.3000.7"
+
  Library "libgdk_pixbuf-2.0:0.4200.10"
 
   
 
   
 
  <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)''
 
  ' ''Creates a new pixbuf by loading an image from a file.''</font>
 
  ' ''Creates a new pixbuf by loading an image from a file.''</font>
 
  Private Extern gdk_pixbuf_new_from_file(filename As String, GError As Pointer) As Pointer
 
  Private Extern gdk_pixbuf_new_from_file(filename As String, GError As Pointer) As Pointer
+
 
<FONT Color=gray>' ''GdkPixbuf * gdk_pixbuf_copy (const GdkPixbuf *pixbuf)''
 
' ''Creates a new GdkPixbuf with a copy of the information in the specified pixbuf.''</font>
 
Private Extern gdk_pixbuf_copy(GdkPixbuf As Pointer) As Pointer
 
 
 
  <FONT Color=gray>' ''gboolean gdk_pixbuf_save (GdkPixbuf *pixbuf, const char *filename, const char *type, GError **error, ...)''
 
  <FONT Color=gray>' ''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.''</font>
 
  ' ''Saves pixbuf to a file in format type. By default, "jpeg", "png", "ico" and "bmp" are possible file formats to save in.''</font>
Riga 21: Riga 16:
 
   
 
   
 
   
 
   
  '''Public''' Sub Main()
+
  Public Sub Main()
 
   
 
   
 
   Dim pixbuf, err As Pointer
 
   Dim pixbuf, err As Pointer
   Dim imm As String = "<FONT Color=gray>''/percorso/della/immagine/da/convertire''</font>"
+
   Dim imm As String = "<FONT Color=darkgreen>''/percorso/della/immagine/da/convertire''</font>"
    
+
  pixbuf = gdk_pixbuf_new_from_file(imm, VarPtr(err))
+
   pixbuf = gdk_pixbuf_new_from_file(imm, VarPtr(err))
  If err <> 0 Then Error.Raise("Impossibile caricare l'immagine !")
+
  If Not IsNull(String@(err)) Then Error.Raise("Impossibile caricare l'immagine !")
   
+
  pixbuf = gdk_pixbuf_copy(pixbuf)
 
 
 
 
  <FONT Color=gray>' ''In questo esempio salveremo l'immagine, convertita in formato .ico, nella cartella "/tmp":''</font>
 
  <FONT Color=gray>' ''In questo esempio salveremo l'immagine, convertita in formato .ico, nella cartella "/tmp":''</font>
  gdk_pixbuf_save(pixbuf, "''/tmp/file_icona.ico''", "ico", VarPtr(err), Null)
+
  gdk_pixbuf_save(pixbuf, "''/tmp/file_icona.ico''", "ico", VarPtr(err), Null)
  If err <> 0 Then Error.Raise("Impossibile salvare l'immagine in formato .ICO !")
+
  If Not IsNull(String@(err)) Then Error.Raise("Impossibile salvare l'immagine in formato .ICO !")
       
+
  '''End'''
+
  End
 
 
  
  
  
 
=Riferimenti=
 
=Riferimenti=
* https://developer.gnome.org/gdk-pixbuf/stable/index.html
+
* https://developer.gnome.org/gdk-pixbuf/unstable/
 
* http://openbooks.sourceforge.net/books/wga/graphics-gdk-pixbuf.html
 
* http://openbooks.sourceforge.net/books/wga/graphics-gdk-pixbuf.html
 
* https://developer.gnome.org/gtkmm/stable/classGdk_1_1Pixbuf.html
 
* https://developer.gnome.org/gtkmm/stable/classGdk_1_1Pixbuf.html

Versione attuale delle 16:44, 21 mar 2024

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

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

La libreria GDK-PixBuf consente anche di convertire e salvare un'immagine in un file immagine di formato .ICO
Ne mostriamo un semplice esempio:

Library "libgdk_pixbuf-2.0:0.4200.10"

' 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


Public Sub Main()

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

 pixbuf = gdk_pixbuf_new_from_file(imm, VarPtr(err))
 If Not IsNull(String@(err)) Then Error.Raise("Impossibile caricare l'immagine !")

' In questo esempio salveremo l'immagine, convertita in formato .ico, nella cartella "/tmp":
 gdk_pixbuf_save(pixbuf, "/tmp/file_icona.ico", "ico", VarPtr(err), Null)
 If Not IsNull(String@(err)) Then Error.Raise("Impossibile salvare l'immagine in formato .ICO !")

End


Riferimenti