Creare un file immagine da dati immagine grezzi mediante le funzioni del API di Imlib2
Da Gambas-it.org - Wikipedia.
Versione del 5 dic 2014 alle 18:14 di Vuott (Discussione | contributi) (Creata pagina con 'Avendo una variabile di tipo ''Puntatore'' che punta a dati immagine grezzi in formato 32 bit per pixel (come nei formati: "RGBA", "ARGB", "BGRA", etc), è possibile da tali d...')
Avendo una variabile di tipo Puntatore che punta a dati immagine grezzi in formato 32 bit per pixel (come nei formati: "RGBA", "ARGB", "BGRA", etc), è possibile da tali dati creare la relativa immagine e salvarla in un file immagine mediante alcune funzioni della libreria Imlib2.
La libreria Imlib2 è in grado di caricare, gestire, elaborare e salvare file immagini. Per poter fruire delle sue funzionalità in Gambas, è necessario richiamare la libreria (nella sua attuale versione): "libImlib2.so.1.4.6"
Mostriamo un semplice esempio attinente al presente argomento:
Library "libImlib2:1.4.6" ' Imlib_Image imlib_create_image_using_data(int width, int height, DATA32 * data) ' Creates an image from the image data - in the format of a DATA32 (32 bits) per pixel in a linear array - specified with the width and the height specified. Private Extern imlib_create_image_using_data(width As Integer, height As Integer, data As Pointer) As Pointer ' void imlib_context_set_image(Imlib_Image image) ' Sets the current image Imlib2 will be using with its function calls. Private Extern imlib_context_set_image(Imlib_Image As Pointer) ' void imlib_save_image(const char *filename) ' Saves the current image in the format specified by the current image's format settings to the filename filename. Private Extern imlib_save_image(filename As String) Public Sub Form_Open() Dim im As Image Dim immago As Pointer im = Image.Load("/percorso/del/file/immagine/di/cui/verranno/estratti/i dati/grezzi") ' Viene creata l'immagine dai dati grezzi: immago = imlib_create_image_using_data(im.W, im.H, im.Data) imlib_context_set_image(immago) ' L'immagine creata viene salvata nel nuovo file immagine: imlib_save_image("/percorso/del/file/immagine/creato") End