oui j ecris bit pour byte, il vaut mieux parler d'octet donc
j'ai une image true color avec bit depth = 8. SI je comprend bien, j'ai donc effectivement MSB en premier.Les spécifications PNG demandent le MSB en premier. Attention, cela n'a de sens que pour les images où la profondeur pixel est supérieure à 8 bits, les images 3x8bits ou 4x8bits ne sont donc pas concernées.
voici mon appel à fread :hexedit édite caractère par caractère.
Si tu lis un entier avec fread, il va tenir compte de l'endianness de ton système.
Si tu lis deux entiers 16 bits avec fread, il y a de fortes chances que tu obtiennes 9C 78 : 7D ED.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 int * c_pix; .... c_pix = (int*)malloc(sizeof(int)); if(c_pix == NULL) { fprintf(stderr,"Out of memory\n"); return 1; } fread(c_pix, 4, 1, fileIn); ...
Partager