Il existe plusieurs types de format pour l'enregistrement des images. Les plus utilisés sont les formats GIF, JPEG, BMP, EPS, PICT, PCX, PNG. Il existe des dizaines d'autres formats d'images. De nombreux programmes de graphisme ou d'édition possèdent leur propre format de fichier, ce qui rend leur application plus performante. Cependant, ces formats de fichier sont peu communs pour un simple utilisateur. Cet article se propose ainsi de vous présenter un format de fichier très répandu : le format PCX (PiCture eXchange) (...)
[...] Header : Le header possède la structure suivante : Les 48 octets à partir de l'offset 16 correspondent à la palette graphique de l'ancien format PCX lorsque la palette était codée avec uniquement 16 couleurs. Le nombre de bits par pixels correspond au nombre de couleurs définies dans la palette bits par pixels donne 2 puissance 8 soit 256 couleurs). Le header fait 128 octets. Raster : Le raster contient les couleurs sous forme de pixels mais de manière compressée. La compression est de type RLE (Run Length Encoded), c'est-à-dire qu'on compresse les plages de pixels qui sont identiques. [...]
[...] L'octet suivant sera l'encre à répéter. Si la valeur de l'octet lu est inférieure à 192, c'est qu'il s'agit d'une encre. La lecture des 768 octets suivants correspond aux 256 triplés de rouge, de vert et de bleu. Chaque taux R,G,B lu doit être divisé par 4. Exemple d'un code en C pour le chargement : int LoadPCX(char *nom_fichier,unsigned char far *scr,unsigned char *pal) { int fichier; int octet; long dim=64000, Dimension du fichier lu (la dimension ne sera pas lu dans l'en-tete) i,rep,cpt_buf=0; int buffer; //Ouverture du fichier en lecture fichier=open(nom_fichier,O_RDONLY O_BINARY); if(fichier!=-1) { Soit on passe l'en-tête si le format du fichier est connu Soit on le lit Ici on suppose que le format est connu On se positionne alors juste après l'en-tete lseek(fichier,128,SEEK_SET); //Lecture de l'image while(dim) { read(fichier,&buffer,1); //Remplit le tampon octet=buffer; //Lecture du tampon : compteur ou encre ? [...]
[...] Exemple : Soit la séquence de valeurs compressées suivantes : correspond à la séquence de pixels suivants (il y a 204-192 pixels de couleur 48 soit 12) : Bien entendu, cela veut dire que toutes les couleurs comprises entre 193 et 255 sont codées sur 2 octets. Il est donc préférable d'en utiliser très peu pour conserver un bon taux de compression et d'établir une palette de couleur optimisée. Palette : Le raster et la palette sont séparés d'un octet qui doit avoir la valeur 192. Une fois qu'il est lu, la palette est accessible. La palette PCX a été prévue pour être exportée sur des machines pouvant avoir 24 bits de couleurs et non 16 couleurs comme indiqué dans la partie sur le mode graphique. [...]
[...] L'écriture des 768 octets correspond aux 256 triplés de rouge, vert et de bleu. Chaque taux R,V,B écrit doit être multiplié par Conclusion : Le format PCX utilise une compression classique d'une mise en œuvre très facile. Lorsqu'il s'agit de ne pas dégrader une image, c'est l'un des formats les plus performants pour réduire sa taille. N'hésitez pas à contacter l'auteur de cet article à pour de plus amples informations. [...]
[...] Le Format PCX 1. Introduction : Il existe plusieurs types de format pour l'enregistrement des images. Les plus utilisés sont les formats GIF, JPEG, BMP, EPS, PICT, PCX, PNG. Il existe des dizaines d'autres formats d'images. De nombreux programmes de graphisme ou d'édition possèdent leur propre format de fichier, ce qui rend leur application plus performante. Cependant, ces formats de fichier sont peu communs pour un simple utilisateur. Cet article se propose ainsi de vous présenter un format de fichier très répandu : le format PCX (PiCture eXchange) La multiplicité des formats : Face à tous ces formats, une question peut se poser : pourquoi en existe- t-il autant ? [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture