Conversion d'une image au format BMP

Résolu
cs_PHILOUVB Messages postés 141 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 3 octobre 2010 - 9 nov. 2004 à 22:31
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

7 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
9 nov. 2004 à 23:32
Taille totale = 54 + (Longueur* 3 + (Longueur Mod 4)) * Hauteur

Daniel
3
cs_PHILOUVB Messages postés 141 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 3 octobre 2010
10 nov. 2004 à 16:54
Comment calcule-t-on la hauteur en pixel, valeur qui m'est nécessaire pour paramètrer une image bmp ?
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
10 nov. 2004 à 18:49
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
0
cs_PHILOUVB Messages postés 141 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 3 octobre 2010
11 nov. 2004 à 11:27
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
11 nov. 2004 à 12:59
<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
0
cs_PHILOUVB Messages postés 141 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 3 octobre 2010
11 nov. 2004 à 18:55
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 ;)
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
11 nov. 2004 à 19:13
à 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
0
Rejoignez-nous