lecture d'un fichier bmp en c

lecture d'un fichier bmp en c - C - Programmation

Marsh Posté le 12-02-2004 à 01:02:45    

bonjour,
je voudrais lire un fichier bmp en c et conserver la description rgb de tout ses points dans un tableau.
mais qd je lis les bmp puis que j'affiche le tableau, on dirait que y as des bytes a zero apparaissent dans le fichier tout les x positions.
 
Voici le resultat de la sortie qd R = 241 G = et 242 et B = 243 pour une bitmap de 5*5 (sans l'entete)
 
 

Code :
  1. 243-242-241-243-242-241-243-242-241-243-242-241-243-242-241-243-242-241-243-242-241-243-242-241-
  2. 243-242-241-0-243-242-241-243-242-241-243-242-241-243-242-241-243-242-241-243-242-241-243-242-241-
  3. 243-242-241-243-242-241-0-243-242-241-243-242-241-243-242-241-243-242-241-243-242-241-243-242-241-
  4. 243-242-241-243-242-241-243-242-241-0-243-242-241-243-242-241-243-242-241-243-242-241-243-242-241-
  5. 243-242-241-243-242-241-243-242-241-243-242-241-0-243-242-241-243-242-241-243-242-241-243-242-241-
  6. 243-242-241-243-242-241-243-242-241-243-242-241-243-242-241-0-


 
un zero apparait tout les 15 positions, mais par exemple pour une bmp 10*10 (meme couleur) deux zero apparaissent toute les 30 positions, mais par exemple avec une bmp 20*20 et 32*32 je n'ai eu aucun zero nulle part, donc comment savoir si,combien et ou y'aura des zero??
 
edit: juste au passage, c pas exclu que mon algo de lecture ne soit pas au point, dc j'aimerai aussi simplement savoir si ces zero sont normaux ou pas.


Message édité par Nico5779 le 12-02-2004 à 01:23:51
Reply

Marsh Posté le 12-02-2004 à 01:02:45   

Reply

Marsh Posté le 12-02-2004 à 01:24:03    

Chaque ligne d'un bmp stocke une longueur d'un multiple de 4, même si l'image est impaire.  
 
eg
 
RGB, 11 pixels = 33 bytes, plus grand multiple de 4 > 33 = 36, donc 36 bytes par ligne.

Reply

Marsh Posté le 12-02-2004 à 01:34:31    

oki, et dc les 3 bytes qui manque dans ton exemple sont remplacé par des zero, et dans mon exemple (qui est une bmp 9*5 en fait j'avais fait une couille avec gimp) c 9 pixel par ligne donc 28 bytes par ligne , et un zero c bien ca, (juste pour etre sur)?

Reply

Marsh Posté le 12-02-2004 à 01:37:24    

Yep. si div = (taille_ligne (33) % 4) != 0, alors padder  taille_ligne de (4 - div).
 

Reply

Marsh Posté le 12-02-2004 à 01:39:06    

oki, super, merci  :jap:

Reply

Marsh Posté le 28-02-2004 à 23:44:09    

Salut Nico5779!
 
moi aussi je dois lire un fichier bmp mais j'ai pas mal de pb pour recuperer les valeurs : en fait, avec les fonctions de lecture de fichier classiques (getc, fread), je n'arrive pas à lire le fichier en entier.  :fou:  
Pourrais tu m'envoyer ton code (surtout la partie lecture du fichier bmp) stp? Merci. :)

Reply

Marsh Posté le 29-02-2004 à 00:09:06    

vous pouvez pas faire comme tout le monde et consulter la documentation sur le format bmp et arrêtez de nous les briser ?

Reply

Marsh Posté le 01-03-2004 à 21:04:25    

Taz a écrit :

vous pouvez pas faire comme tout le monde et consulter la documentation sur le format bmp et arrêtez de nous les briser ?


 
pourquoi tant de haine ? [:alarmclock1]
 
 
 
 
 
[:benj9002]
 
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed