Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : Jérémy
dans la serie les mysteres du C
C'est drôle je ne savais pas que le bmp stocké des informations
un peu comme les tags id3 des fichiers audio.
J'ai donc regarder un peu et en gros les offset de début stock des informations importantes
en gros un bmp donne ça :
C'est ce que fait ton code Temps-X ?
@++
J'ai donc regarder un peu et en gros les offset de début stock des informations importantes
Code : Tout sélectionner
┌───────────────────────────────┐
│ BITMAPFILEHEADER (14 octets) │
│ │
│ Offset 0x00 : Signature "BM" │
│ Offset 0x02 : Taille fichier │
│ Offset 0x06 : Réservé │
│ Offset 0x0A : Offset pixels │
└───────────────────────────────┘
│
▼
┌───────────────────────────────┐
│ BITMAPINFOHEADER / DIB (40) │
│ │
│ Offset 0x0E : Taille header │
│ Offset 0x12 : Largeur │
│ Offset 0x16 : Hauteur │
│ Offset 0x1A : Plans │
│ Offset 0x1C : Bits par pixel │
│ Offset 0x1E : Compression │
│ Offset 0x22 : Taille image │
│ Offset 0x26 : Résolution X │
│ Offset 0x2A : Résolution Y │
│ Offset 0x2E : Nb couleurs │
│ Offset 0x32 : Couleurs imp. │
└───────────────────────────────┘
│
▼
┌───────────────────────────────┐
│ Palette (si bpp ≤ 8 bits) │
│ │
│ Taille = offsetPixels - (14+40)│
└───────────────────────────────┘
│
▼
┌───────────────────────────────┐
│ Données pixels │
│ │
│ Commence à l’offset indiqué │
│ par BITMAPFILEHEADER (0x0A) │
│ Alignement lignes : multiple │
│ de 4 octets │
└───────────────────────────────┘
C'est ce que fait ton code Temps-X ?
@++
dans la serie les mysteres du C
Bonsoir venom,
Oui et non
0x0A indique la fin de lecture du fichier,de plus il faut lire 3 octets par couleur pour un format 24 bits, j'avais bien dit que c'était une histoire de fou.
Je fourni dans le fichier zip la source
où tout est marqué, avec un exemple de lecture du fichier Bmp, au cas où tu aurais zappé tout est ICI
C'est assez tordu pour lire un fichier Bmp, il faut commencer par la fin en remontant vers le début du premier pixel pour finir .
Les premiers pixels vont de droite à gauche, le mieux c'est de paramétrer l'écran avec l'orientation qui convienne.
Dans la plupart des fichiers connus, il y a presque toujours un Header.
Le seul problème pour écrire un programme, c'est d'être obligé de chercher des heures pour avoir seulement qu'une moitié d'informations.
Bon, pour les Bmp pas de problème, on a de la documentation un peu partout, mais pour certains formats c'est dur dur....
Malgré le progrès de l'informatique, la société Mondial veille à ce qu'on soit le moins informé possible, les explications sont au compte-gouttes.
Heureusement qu'il y a eu certains hommes, comme par exemple Bigonoff et bien d'autres... pour diffuser le savoir.
Pour apprendre sans passer par des lycées techniques qui sont réservés à une élite, il faut avoir du courage.
A+
venom a écrit :Source du message C'est ce que fait ton code Temps-X ?
Oui et non
venom a écrit :Source du message
Commence à l’offset indiqué
par BITMAPFILEHEADER (0x0A)
Alignement lignes : multiple
de 4 octets
0x0A indique la fin de lecture du fichier,de plus il faut lire 3 octets par couleur pour un format 24 bits, j'avais bien dit que c'était une histoire de fou.
Je fourni dans le fichier zip la source
C'est assez tordu pour lire un fichier Bmp, il faut commencer par la fin en remontant vers le début du premier pixel pour finir .
Les premiers pixels vont de droite à gauche, le mieux c'est de paramétrer l'écran avec l'orientation qui convienne.
Dans la plupart des fichiers connus, il y a presque toujours un Header.
Le seul problème pour écrire un programme, c'est d'être obligé de chercher des heures pour avoir seulement qu'une moitié d'informations.
Bon, pour les Bmp pas de problème, on a de la documentation un peu partout, mais pour certains formats c'est dur dur....
Heureusement qu'il y a eu certains hommes, comme par exemple Bigonoff et bien d'autres... pour diffuser le savoir.
Pour apprendre sans passer par des lycées techniques qui sont réservés à une élite, il faut avoir du courage.
dans la serie les mysteres du C
Oui j'ai vu que les pixels se lisent du bas vers le haut
logique incomprise mais bon
oui j'avais vu en plus que tu avais fourni le source. Je vais y jetter un œil
Mais même si c'est a moitié compréhensible c'est sympa c'est header
@++
Mais même si c'est a moitié compréhensible c'est sympa c'est header
@++
dans la serie les mysteres du C
On trouve pourtant facilement beaucoup d'infos très précises et très fiables sur les descriptions des formats de fichiers sans trop chercher dans tous les sens.
3 sources incontournables :
-la bibliothèque du congrès
-le MSDN Microsoft
-fileformat.info
Exemple pour le BMP : https://www.fileformat.info/format/bmp/egff.htm
3 sources incontournables :
-la bibliothèque du congrès
-le MSDN Microsoft
-fileformat.info
Exemple pour le BMP : https://www.fileformat.info/format/bmp/egff.htm
dans la serie les mysteres du C
Bonjour gwion, venom, et tout le forum,
J'ai l'impression que tu ne prends pas le temps de lire ce que je dis.
Essai de trouver comment on utilise les APIS pour mettre en oeuvre le port RS232 avec une démontration en basic
Bon courage....
tu vas surement le trouver, mais en C++ avec des explications obscures et non claires qui se report avec d'autre fichier
Venom, le début ou fin du fichier 0x0A n'as pas besoin d'être lue si tu utilises un fichier BMP non compressé,
(Largeur x Hauteur)*3 = nombre de pixel à lire, ce qu'il faut connaître c'est la signature, largeur, longueur, compression, à partir de ça tu peux lire ton fichier. on commençant par la fin
A+
gwion a écrit :Source du message Exemple pour le BMP : https://www.fileformat.info/format/bmp/egff.htm
Temps-x a écrit :Source du message Bon, pour les Bmp pas de problème, on a de la documentation un peu partout,
Essai de trouver comment on utilise les APIS pour mettre en oeuvre le port RS232 avec une démontration en basic
Bon courage....
Venom, le début ou fin du fichier 0x0A n'as pas besoin d'être lue si tu utilises un fichier BMP non compressé,
(Largeur x Hauteur)*3 = nombre de pixel à lire, ce qu'il faut connaître c'est la signature, largeur, longueur, compression, à partir de ça tu peux lire ton fichier. on commençant par la fin
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 5 invités

