|
|||||
Canvas Couleur Pixel Palette
Le problème des MasquesSi l'on veut superposer des images avec transparence, nous avons besoin d'un masque. Par exemple, un fichier Gif peut comporter une couleur de masque qui est l'une des 256 couleurs de sa palette. Si par convention on décide qu'un pixel contient la couleur du masque (Delphi utilise le pixel(0, Bmpheight-1) pour ses Glyph) un bitmap peut stocker un masque. En revanche, un fichier jpg à cause de sa méthode de compresssion perturbe les aplats de couleur et ne peut pas servir à stocker un masque. Si l'on se limite aux trois types de fichiers Bitmap, Jpg, et Gif nous avons les caractéristiques de stockage suivantes :
Pour à la fois stocker un masque, conserver 16 millions
de couleurs en évitant de créer une palette 256 couleurs,
et limiter la place disque occupée, je propose le système
suivant. Il combine le maximum d'nformaions avec le minimum de place::
En mémoire, si l'image est en Pf24bit on peut lui associer
un bitmap masque de même taille qui sera monochrome, ou
bien en niveau de gris (256 couleurs) , ou bien aussi en Pf24bit pour
utiliser les mêmes fonctions scanlines que celles du traitement
d'images. Un masque de 256 couleurs permet de réaliser des transparences
avec dégradé, comme par exemple les ellipses de certaines
photographies, ou l'assemblage de plusieurs photographies.
ConclusionLe traitement d'images est très performant avec la technique des scanlines de Delphi.
Références
|
Conversion RGBtoHSV Conversion HSVtoRGB |
Permettent de créer facilement des bitmaps avec les couleurs
de l'arc en ciel (Version Delphi 3 sans unité maths) |
Copyrect amélioré | Copie d'un rectangle R1 d'un bitmap dans le rectangle R2 d'un
autre bitmap avec un masque et un pourcentage de mélange. |
Textes colorés | Création de bitmaps contenant un texte Doré, argenté,
irisé. Ombre dégradée, contour du texte, affichage transparent. Voir le titre en haut de cette page |
Rotation | Rotation de bitmaps |
Colorise | Dégradés de couleurs |
Reflets | Simulation animée de reflets dans l'eau |
Le site à visiter absolument est celui de Earl.F.Glynn.
Ce site contient de nombreux exemples Delphi pour tout connaître du graphisme, des couleurs, et des palettes.
http://homepages.borland.com/efg2lab/
Sa page sur les scanlines décrit en détail tous
les formats de 1 à 32 bits.
L'optimisation par calcul des pointeurs scanlines a éte adapté
à partir de cette page.
http://homepages.borland.com/efg2lab/ImageProcessing/S anline.htm
Jean-Yves Quéinec |
j.y.q@wanadoo.fr |
Retour |