Conversion d'une image au format BMP [Résolu]

Messages postés
141
Date d'inscription
mardi 18 mars 2003
Statut
Membre
Dernière intervention
3 octobre 2010
- - Dernière réponse : Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
- 11 nov. 2004 à 19:13
Je cherche à savoir comment je peux calculer

la taille totale d'une image en octet
la résolution horizontale de cette image

j'ai une image de 600 x 800 en 24 bits

Ces éléments me sont nécessaire pour étudier la structure d'une image bmp.

Merci par avance
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
21
3
Merci
Taille totale = 54 + (Longueur* 3 + (Longueur Mod 4)) * Hauteur

Daniel

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 191 internautes nous ont dit merci ce mois-ci

Messages postés
141
Date d'inscription
mardi 18 mars 2003
Statut
Membre
Dernière intervention
3 octobre 2010
0
Merci
Comment calcule-t-on la hauteur en pixel, valeur qui m'est nécessaire pour paramètrer une image bmp ?
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
21
0
Merci
La hauteur ne se calcule pas, ni la Largeur non plus.

1 - si c'est toi qui crée l'image, c'est à toi de choisir les dimensions
2 - si c'est une image existante, tu trouve les renseignements dans l'entête:
position 12h sur 4 octets --> biwidth (Largeur)
position 16h sur 4 octets --> biheight (Hauteur)

Daniel
Messages postés
141
Date d'inscription
mardi 18 mars 2003
Statut
Membre
Dernière intervention
3 octobre 2010
0
Merci
Peux-tu me donner un exemple à partir de cette image
pour que je comprenne le fonctionnement, en me détaillant la manière de procéder car je n'y connais pas trop grand chose.

1er cas si c'est moi qui créée l'image :

2ème cas si c'est une image d'un format différent que je veux enregistrer sou bmp

Je ne te demande pas toute la procédure mais uniquement pour la hauteur et largeur.
merci par avance.
:shy)

42 4d 66 00 00 00 00 00 00 00 36 00 00 00 28 00
00 00 04 00 00 00 04 00 00 00 01 00 18 00 00 00
00 00 30 00 00 00 ?? ?? 00 00 ?? ?? 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
21
0
Merci
<s>entête de 14 octets</s>

type = 42 4d ---> (= BM )taille 66 00 00 00 ---> (&H66 102 octets = 54 + 48 )
Réservé1 = 00 00
resevé2 = 00 00 offset 36 00 00 00 ---> (&H36 54 octets)

<s>bitmapinfoheader de 40 octets</s>
Taille 28 00 00 00 ---> (&H28 40 octets)Largeur 04 00 00 00 ---> (&H04 4 octets)Hauteur 04 00 00 00 ---> (&H04 4 octets)
Nbre de plans = 01 00
Nbre de bits = 18 00 ---> (24 bits True Couleur)
Compression = 00 00 00 00 Taille totale 30 00 00 00 --> (48 octets 4*4*3)
Résolution X = ?? ?? 00 00
Résolution Y = ?? ?? 00 00
Nbre de couleurs = 00 00 00 00
Couleurs importantes = 00 00 00 00
Messages postés
141
Date d'inscription
mardi 18 mars 2003
Statut
Membre
Dernière intervention
3 octobre 2010
0
Merci
Désolé, je ne me suis pas fait comprendre :shy)

ce que j'aimerais savoir c'est dans ce cas, que dois-je mettre à la place des points d'interrogation ?

Comment je détermine la hauteur :
1er cas si c'est moi qui créée l'image :

2ème cas si c'est une image d'un format différent que je veux enregistrer sous bmp

C'est là que je ne sais pas qu'elle valeur mettre.

Merci par avance ;)
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
21
0
Merci
à cet endroit où il ya les ?? ?? 00 00
ça sert pas à grand chose, si tu veux tu peux mettre zéro, ça changera rien à l'affichage.

sinon si tu veux 72 dpi:
(72 * 100) / 2.54 --> 2834 pixels par mètre

donc en hexa --> &H00000B12

et dans le fichier:
Résolution X = 12 0B 00 00
Résolution Y = 12 0B 00 00