Donc, j'essaie de comprendre comment la conversion PNG en BMP a réellement lieu. J'ai créé le PNG de 8x8 pixels suivant à l'aide d'un outil en ligne:Comment convertir un fichier PNG en BMP 1 bit
je puis effectué une conversion à l'aide de l'outil ImageMagik dans le terminal OSX:
$ convert -monochrome pic.png pic.bmp
Ensuite, je l'ai fait une hexdump de l'image:
$ hexdump -C pic.bmp 00000000 42 4d 4a 01 00 00 00 00 00 00 8a 00 00 00 7c 00 |BMJ...........|.| 00000010 00 00 08 00 00 00 08 00 00 00 01 00 18 00 00 00 |................| 00000020 00 00 c0 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000030 00 00 00 00 00 00 00 00 ff 00 00 ff 00 00 ff 00 |................| 00000040 00 00 00 00 00 ff 42 47 52 73 8f c2 f5 28 51 b8 |......BGRs...(Q.| 00000050 1e 15 1e 85 eb 01 33 33 33 13 66 66 66 26 66 66 |......333.fff&ff| 00000060 66 06 99 99 99 09 3d 0a d7 03 28 5c 8f 32 00 00 |f.....=...(\.2..| 00000070 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 |................| 00000080 00 00 00 00 00 00 00 00 00 00 ff ff ff ff ff ff |................| 00000090 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| * 00000130 ff ff 00 00 00 ff ff ff ff ff ff ff ff ff ff ff |................| 00000140 ff ff ff ff ff ff ff ff ff ff |..........| 0000014a
Ainsi, ob Vivement, nous avons un en-tête BMP de 0x00 - 0x8C. Ensuite, nous avons FF pour les pixels blancs et 00 pour le noir. Tout cela a du sens, mais pas la structure de la sortie. Jusqu'à présent, il semble qu'il y ait un ratio de 3 à 1. 3 octets par pixel. Je suppose que cela signifie noir, blanc, sans couleur?
Je dois bien comprendre pourquoi il y a 3 octets par pixel au lieu de 2. Idéalement, je voudrais un binaire 1 ou 0 pour chaque pixel à la place. Y a-t-il un moyen de faire cela? Et si non, quelqu'un peut-il expliquer la disposition des octets? Plus précisément: Pourquoi les 3 00 à 0x132 - 0x134 et pas le tout début?
Merci
probablement une couleur bmp, ce qui signifie 24 bits par couleur (8bit rouge, 8bit vert, 8bit bleu). Si vous voulez un vrai bitmap B & W, vous devez afficher les options d'en-tête bmp appropriées pour dire que c'est B & W. –
Le format de fichier BMP est bien expliqué sur sa page Wikipedia. Pourquoi ne pas commencer là? Pour un, il vous indique quel octet dans cet en-tête indique la profondeur de bits. – usr2564301