24-bit BMP FILES

BMP Les fichiers sont stockés dans une grande partie de la même manière que Microsoft Windows stocke en interne ses bitmaps. À noter sont les particularités que:
  1. Les images sont stockées à l'envers. La première ligne du fichier est la ligne de fond de l'image et la dernière ligne du fichier est la première ligne de l'image. Cela signifie que si vous le calcul d'une image avec une résolution de 256 x 192, à afficher dans un système où le (0, 0) pixel est en haut à gauche, le premier pixel à calculer et écrites dans le fichier BMP est pour pixel (191, 0).
  2. Dans les images 24 bits valeurs RVB sont stockées dans l'ordre Bleu Vert Rouge.

L'écriture d'un fichier BMP (avec C)

Le nombre d'octets dans chaque ligne d'un fichier .BMP est toujours un multiple de 4 que Windows ne alignement sur les limites double mot de ligne. Vous avez besoin d'une bytesperline variable qui indique combien d'octets il y a en ligne.

Ensuite remplissez la taille du fichier

Maintenant, vous avez un BMPHEAD valide.

Ouvrez votre fichier bmp et écrire l'en-tête lui

Ensuite, vous devez écrire vos données d'image 24 bits sur le disque d'une ligne à la fois. Rappelez-vous que vous devez écrire la dernière ligne en premier. D'abord, nous allouons un tampon qui peut contenir une ligne de l'image

La structure BMPHEAD utilise un certain nombre de valeurs longues. En C, les constantes littérales doivent être expressément casted et à long exemple 0L, 54L. Les constantes entières doivent aussi être expressément casted et à long exemple bh.width = (long) myWidth si myWidth est un nombre entier. NE JAMAIS assigner à un long ou faire des calculs pour attribuer à une longue à moins que la valeur assignée est longue ou explicitement converti en temps. La même chose est vraie pour les flotteurs et doubles.

Articles Liés