Bonjour a tous !

premier message sur developpez.com car je trouvais toujours ma reponse dans une FAQ ou sur un forum.

Mais voila la je coince...


alors mon but est de pouvoir ouvrir puis modifier des images au format TGA.

pour les formats 24 et 32 bits pas de problème.

pour le 16 bit par contre rien ne va plus le fichier semble plus petit que la taille annoncée et je me retrouve à traiter qu'une partie de celui-ci.

pour lire l'image je la parcoure tel un fichier en sachant que les 18 premiers octets correspondent au header.

le reste devrais correspondre a chaque pixel.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
 
   FILE *fp;
 
   if ((fp = fopen("test16.tga","r")) == NULL) 
    {
       fprintf(stderr,"File open failed !!!\n");
       exit(-1);
    }
 
   int status=1;
   int nb=0;
   unsigned char t[1];
   while( status> 0)
   {
	   status= fread(t,1,1,fp);
	   nb++;
   }
 
   cout << "\nnb bytes == " << nb;
avec ce code par exemple qui ne fais rien de plus que parcourir le fichier octet par octet et compter la taille de celui-ci je n'arrive pas au nombre indiqué d'octets pris par l'image.

Voila mon probleme j'ai testé sur plusieurs images mais apparement c'est la même pour toute .

Merci d'avance d'avoir pris le temps d'avoir lu le message