Fichier Bitmap et programmation en C... - Programmation
Marsh Posté le 27-10-2001 à 20:51:20
si par fichier bitmap tu entends .bmp, il suffit de chercher sur google : http://www.google.com/search?q=bmp+file+format
windows a des fonctions pour lire directement un .bmp, aussi. cherche dans la msdn ...
Marsh Posté le 27-10-2001 à 21:10:22
je copie colle de ma vieille msdn locale :
LoadImage
The LoadImage function loads an icon, cursor, or bitmap.
HANDLE LoadImage(
HINSTANCE hinst, // handle of the instance containing the image
LPCTSTR lpszName, // name or identifier of image
UINT uType, // type of image
int cxDesired, // desired width
int cyDesired, // desired height
UINT fuLoad // load flags
);
y'a aussi BITMAPFILEHEADER, BITMAPINFOHEADER, etc ...
Marsh Posté le 27-10-2001 à 21:12:57
autant pour moi
me souvenait pu que celle la pouvait aussi faire les bmp
Marsh Posté le 28-10-2001 à 12:37:10
youdontcare a écrit a écrit : je copie colle de ma vieille msdn locale : LoadImage The LoadImage function loads an icon, cursor, or bitmap. HANDLE LoadImage( HINSTANCE hinst, // handle of the instance containing the image LPCTSTR lpszName, // name or identifier of image UINT uType, // type of image int cxDesired, // desired width int cyDesired, // desired height UINT fuLoad // load flags ); y'a aussi BITMAPFILEHEADER, BITMAPINFOHEADER, etc ... |
tu as eu où ces infos ?
comment on y accède ?
Marsh Posté le 28-10-2001 à 20:18:36
airseb a écrit a écrit : tu as eu où ces infos ? comment on y accède ? |
http://msdn.microsoft.com
ça marche aussi avec google (:love quand tu recherches un truc comme "windows function bmp loading"
http://www.google.com/search?sourc [...] mp+loading
Marsh Posté le 28-10-2001 à 23:06:13
Je vous remercie pour vos réponses
@ +
kason
----------------------------------
Citation : Ab uno disce omnes |
Marsh Posté le 29-10-2001 à 23:35:51
up
kason
Citation : Du sublime au ridicule, il n'y a qu'un seul pas, Napoléon Bonaparte |
Marsh Posté le 30-10-2001 à 11:18:44
Si tu arrives à obtenir un pointeur vers la zone de données, ton problème est résolu!
Pour comprendre la structure de la zone de donnée, tu fais une petite image simple (4x4 pixels par exemple) et tu analyses ce qu'il y a dedans (commence par le 24bits ou le monochrome, c'est le plus simple car il n'y a pas de palette).
Donc si tu fais une image de 4x1 pixels en 24 bits de ce style :
1 2 3 4
Composante Rouge : 255 0 0 255
Composante Verte : 0 255 0 255
Composante Bleue : 0 0 255 255
Ta zone de donnée devrait se présenter sous cette forme :
FF 00 00 00 FF 00 00 00 FF FF FF FF
\------/ \------/ \------/ \------/
1 2 3 4
(Je ne suis pas sûr de l'ordre des pixels ni de l'ordre des composantes, fais des essais)
Pour le monochrome: si le bit est à 1, tu mets un point ; si le bit est à 0, tu affiches rien.
Pour le 16 couleurs et le 256 couleurs, c'est le bordel car il faut que tu ailles voir dans la palette la couleur correspondant à ce que tu lis (j'ai jamais essayé de jouer avec les palettes).
Je parle ici d'une image non compressée (mais ça doit pas être trop dur de décoder le RLE).
Marsh Posté le 30-10-2001 à 15:27:25
youdontcare a écrit a écrit : je copie colle de ma vieille msdn locale : LoadImage The LoadImage function loads an icon, cursor, or bitmap. HANDLE LoadImage( HINSTANCE hinst, // handle of the instance containing the image LPCTSTR lpszName, // name or identifier of image UINT uType, // type of image int cxDesired, // desired width int cyDesired, // desired height UINT fuLoad // load flags ); y'a aussi BITMAPFILEHEADER, BITMAPINFOHEADER, etc ... |
je crois qu'elle sous Borland C++ 2.5 (version DOS)... alors ça va pas le faire
Marsh Posté le 27-10-2001 à 20:34:21
Un pb à vous exposer...
Je souhaite afficher un Bitmap sous DOS en utilisant la bibliothèque graphics.h (fonctions BGI) et en particulier putpixel (affichage pixel par pixel à l'écran).
J'ai réussi à savoir comment est organisé le fichier Bitmap (2 entêtes + 1 palette de couleur (éventuelle) + la zone de données bitmap, cad les pixels)
J'ai réussi à lire les entêtes
Mon pb : je n'arrive pas à lire la zone de données pixel ; je ne sais pas sûre de sa structure en fait
D'autant qu'il existe +sieurs types de Bitmap...
- monochrome (1 bit / pixel)
- 16 couleurs (4 bits / pixel)
- 256 couleurs (8 bits / pixel)
- 24 bits (24 bits = 3 octets / pixel)
La zone de données pixels va contenir hauteur x largeur pixels dans le fichier mais organisés comment ??? Là est la question !!!!
Si qqn a une idée ou une astuce à me proposer, don't hesitate
Kason, une nouvelle sur le forum