Imel - Graphics Library

FreeTypeFreeImage

Descrizione

Imel è una libreria per l'elaborazione di immagini. Include strumenti per creare, disegnare, salvare e modificare diversi tipi di immagini con più di 240 funzioni. È realizzata per essere semplice da utilizzare con un buon compromesso tra velocità di esecuzione e uso della memoria.

Un immagine potrà essere elaborata nel tipo ImelImage ( vedere la documentazione per maggiori dettagli ). Lavora con canali RGB più un livello aggiuntivo che identifica il livello dell'immagine o la trasparenza se di valore compreso tra 0 e -255.

Imel è scritta in C e rilasciata sotto licenza GNU GPL versione 3. Può essere inclusa in progetti in C e C++.

Installazione & Download

Imel utilizza due librerie per leggere i font TrueType e aprire e salvare in diversi formati immagine. Prima di compilare la libreria è necessario installare queste dipendenze: * libfreetype6 Richiesta. Per leggere font TrueType * libfreeimage3 Richiesta. Per aprire e salvare in diversi formati immagine * libstdc++6 Opzionale. Per compilare in maniera statica la libreria

Su sistemi derivati da Debian potrete installare queste librerie con il comando:

apt-get install libfreetype6-dev libfreeimage-dev

Dopo queste azioni preliminari si può compilare il sorgente con make.

make

Nota: Per sistemi a 64 bit è necessario aggiungere flags='-fPIC'

Successivamente si può installare Imel con:

make install

Per rimuovere i file generati dall'operazione make è possibile eseguire:

make clean

Per disinstallare:

make uninstall

( Per operazioni di debug make debug=true )

Scarica imel-pkg.tar.bz2

Scarica imel-with-docs.tar.bz2

Documentazione

Dalla versione 3.0 la documentazione è stata riscritta con Doxygen. La configurazione predefinita di Doxygen può essere trovata nella cartella imel_src ed è impostata per generare la documentazione in HTML, LATEX e MAN. Nota: Il formato HTML è modificato con un tema bootstrap.

È possibile generare la documentazione con il comando:

make imel-doc

E se si vuol eliminare quella generata:

make imel-doc-clean

La documentazione pre-generata online può essere trovata di seguito.

Documentazione HTML

Documentazione PDF

Per Iniziare

Per utilizzare Imel nel vostro progetto è necessario solamente includere l'header con:

#include <imel.h>

e compilare il progetto con:

gcc myfile.c -o myprogram -limel

Apertura e Salvataggio di un Immagine

#include <imel.h>

int main (int argc, char *argv[]) 
{
 ImelImage *image;

 image = imel_image_new_from (argv[1], 0, NULL);
 if ( !image )
      return 1;

 imel_image_save_png (image, "image.png", IMEL_PNG_Z_DEFAULT_COMPRESSION, NULL);
 imel_image_free (image);

 return 0;
}

Altri esempio possono essere trovati nella documentazione.

Logica di Imel

Imel ha, spero, una sua logica nel definire il nome delle sue funzioni:

imel_categoria_azione ()

La categoria può essere: * image: Include funzioni per elaborare le immagini con effetti, filtri, rotazioni e molto altro * image_fill: Include funzioni per riempire un'area dell'immagine con colori o livelli differenti * image_new_from: Include funzioni per caricare un'immagine esistente * image_save: Include funzioni per salvare in differenti tipi di immagine * color: Include funzioni per operare con i singoli colori. * pixel: Include funzioni per operare con i singoli pixel. * draw: Include funzioni per disegnare in un'immagine. * point: Include funzioni per riferirsi ad un punto in un'immagine. * font: Include funzioni per scrivere una stringa all'interno di un'immagine. * value: Include funzioni per convertire da un valore ad un altro.

Funzioni speciali sono: * imel_printf_debug (): Manda in output il messaggio solo se Imel è stata compilata con debug=true * imel_enable_brush (): Abilita il disegno con un pennello scelto * imel_disable_brush (): Disabilita il disegno con un pennello

Le funzioni nella categoria image_new_from sono composte nel seguente modo: * imel_image_new_from formato * imel_image_new_from formato handle * imel_image_new_from formato memory

Le funzioni nella categoria image_save hanno la stessa composizione senza l'azione memory.

Formati Supportati

Formato Apertura Opzioni Salvataggio Opzioni
BMP Si No Si Si
CUT Si No No No
DDS Si No No No
EXR Si No No No
GIF Si Si No No
HDR Si No No No
ICO Si Si No No
IFF Si No No No
IMEL Si No Si No
J2K Si No Si Si
JNG Si No No No
JP2 Si No Si Si
JPEG Si Si Si Si
KOALA Si No No No
MNG Si No No No
PBM Si No No No
PBMRAW Si No No No
PCD Si Si No No
PCX Si No No No
PGM Si No No No
PGMRAW Si No No No
PNG Si Si Si Si
PPM Si No Si No
PPMRAW Si No Si No
PSD Si No No No
RAS Si No No No
RAW Si Si No No
SGI Si No No No
TARGA Si No No No
TIFF Si Si Si Si
WBMP Si No Si No
XBM Si No No No
XPM Si No Si No

Navigazione Sorgenti