Grimage

Grimage est une bibliothèque destinée à la lecture, à l'écriture et à l'affichage d'images en Caml Light. Elle traite les images au format BMP et PPM. Une extension du format PPM autorise également le traitement d'images comportant des parties transparentes.

Utilisation simple

Les modules spécialisés aux formats BMP et PPM définissent des fonctions de lecture et d'écriture des formats d'images correspondants et manipulent directement le format d'image de la bibliothèque Graphics. Ainsi, pour les formats

Pour afficher les images dans la fenêtre de Graphics, il vous suffit d'utiliser la primitive draw_image du module Graphics.

Principe de la bibliothèque: format d'image interne

La bibliothèque définit un format d'image pivot dans lequel elle transforme les différents formats d'images manipulés. C'est le type grimage__image. Ainsi les fonctions de lecture de bas niveau produisent toutes des valeurs de type grimage__image.

Sur le format pivot on dispose des fonctions générales suivantes:

Les fonctions de lecture et d'écriture de haut niveau des images traitent toutes du format pivot (voir ci-dessous).

Formats d'images externes

Le module pivot Grimage traite les formats suivants:

Images et transparence

Les images comportant des parties transparentes sont traitées au format PPM uniquement. L'image comprend alors deux parties corrélées, à savoir:

La première image est un pixmap, la seconde un bitmap; voir ci-dessous pour les définitions et les fonctions de base fournies pour bitmaps et pixmaps.

Les images avec parties transparentes sont indiquées par une nouvelle variante du format PPM (codée P6). Ce codage est (normalement) compatible avec les programmes habituels de traitement des images PPM.

Pixmaps: format d'image de bas niveau

Dans le module Pixmap, la bibliothèque définit donc la notion de pixmap, c'est-à-dire de matrices de couleurs au format R, G, B codées sur un entier (un pixmap a donc pour type graphics__color vect vect).

Bitmap: format d'image en noir et blanc

Les bitmap sont des pixmaps dont les couleurs ne prennent que les deux valeurs blanc ou noir.

Pixmaps: fonctions de manipulation

Le module Pixmap fournit des utilitaires de base pour transformer les pixmaps, créer des bitmaps en calculant une représentation dégradée d'un pixmap, obtenir des images avec parties transparentes, ou encore afficher des pixmaps dans la fenêtre de Graphics.

Manipulation des couleurs

Le module Color fournit des fonctions de traductions de triplets d'entiers en couleurs aux formats RGB ou HSB.

Pour plus d'information

Pour de plus amples informations sur la bibliothèque, lisez les interfaces des modules et les fichiers d'exemples du répertoire test.

Essayer Grimage c'est l'adopter!

Pierre weis.