Un BMP (DIB) l'image est composée d'un en-tête suivi par non compressé1 les données de couleur (pour 24 bpp images 3 octets par pixel, stockées dans le sens inverse de ligne de commande et avec 4 octets de la ligne de foulée).
Les octets de données de couleur sont utilisés pour représenter les couleurs (c'est à dire aucun d'entre eux sont "mandaté" par le format de fichier2, ils viennent tous de la couleur de chaque pixel), et il y a une parfaite correspondance 1:1 entre les couleurs des pixels et d'octets écrits dans le fichier; ainsi, en utilisant parfaitement les couleurs choisies, vous pouvez écrire ce que vous voulez dans le fichier (à l'exception de l'en-tête).
Lorsque vous ouvrez le fichier généré dans le bloc-notes, la couleur, les données seront affichées sous forme de texte; vous pouvez toujours voir clairement à partir de l'en-tête (la partie à partir de BM
le début du texte), qui est mandaté par le format de fichier.
À mon avis, cette vidéo a été fait de cette façon: d'abord, l'auteur a calculé la taille nécessaire pour le bitmap, et créé un DIB fichier de la taille correcte remplis avec une couleur qui se développe à un modèle simple (par exemple, tous les octets de 65 ans => 'A'
); ensuite remplacé avec un tel modèle avec la "charge utile" de code, comme le montre la vidéo.
Notez cependant qu'il n'est pas impossible, à la main, de l'artisanat le tout avec le bloc - notes avec le sélecteur de couleur de dialogue, une table ASCII et une connaissance de base de la DIB format, il peut être fait, mais il serait beaucoup beaucoup plus lente et sujette à erreur.
Plus d'infos sur le format DIB
- Il y a RLE comprimé Fric, mais dans ce cas non compressé images sont utilisées (et ils sont utilisés vraiment rarement de toute façon).
- À l'exception de la foulée, qui a été évité à l'aide de lignes multiple de 4 octets.