Ce qu'il faut obligatoirement faire: créer
un buffer de la taille de l'image, par exemple pour un carré de
128 par 128 ça donnerait:
Ensuite ouvrir son fichier graphique:
L'avantage du fichier RAW : les pixels
sont rangés tels quels sous forme de 3 octets (ce qui justifie l'option
'rb' dans l'ouverture de fichier). Donc il suffit de lire trois octets
dans le fichier pour reconstituer le pixel.
Un fichier tga est aussi rangé de cette manière mais il y a un en -tête avec des infos sur le type, la profondeur des couleurs, le compactage, l'orientation, etc. Il suffit de les sauter et de réaliser les mêmes opérations que pour le RAW. Le nombre d'octet à sauter se trouve indiqué dans le premier octet du fichier ( http://www.dcs.ed.ac.uk/home/mxr/gfx/2d/TGA.txt ) Ensuite on positionne le curseur graphique
comme pour du texte et on fait appel à la fonction glDrawPixels
:
En fait le premier octet du fichier ne sert qu'à indiquer s'il y aura un commentaire ou pas. Toutes les autres infos se trouvent dans les 17 octets suivants, donc pour arriver aux données il faut sauter les 18 premiers octets. Dans un fichier tga l'image est renversée, il faut commencer le remplissage par la dernière ligne et remonter, on place un step négatif dans la fonction range. La fonction read doit contenir le nombre
d'octet à lire et lorsque cet octet est lu il est passé en
fait comme un caractère donc il faut lui redonner sa valeur d'entier.
Les couleurs sont rangées elles
aussi dans l'ordre inverse
on trouvera un fichier blend d'exemple, avec une image, à cette adresse: http://jmsoler.free.fr/util/blenderfile/draw_pic.blend
L'image doit être dezippée
et son répertoire d'installation indiqué dans la variable
'loc'.
Les questions concernant cette page
peuvent être posées sur :
|