Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2958 connectés 

  FORUM HardWare.fr
  Programmation

  Fichier Bitmap et programmation en C...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Fichier Bitmap et programmation en C...

n°67916
kason
Ab uno disce omnes
Posté le 27-10-2001 à 20:34:21  profilanswer
 

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  :hap:  
 
Mon pb : je n'arrive pas à lire la zone de données pixel ; je ne sais pas sûre de sa structure en fait   :fou: :??:
 
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 ???  :sweat:  Là est la question !!!!
 
Si qqn a une idée ou une astuce à me proposer, don't hesitate ;)  
 
Kason, une nouvelle sur le forum  :hello:

mood
Publicité
Posté le 27-10-2001 à 20:34:21  profilanswer
 

n°67917
youdontcar​e
Posté le 27-10-2001 à 20:51:20  profilanswer
 

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 ...

n°67924
TheJackal
Posté le 27-10-2001 à 21:02:57  profilanswer
 

?
pour afficher mais par pour lire

n°67925
youdontcar​e
Posté le 27-10-2001 à 21:10:22  profilanswer
 

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 ...

n°67926
TheJackal
Posté le 27-10-2001 à 21:12:57  profilanswer
 

autant pour moi
me souvenait pu que celle la pouvait aussi faire les bmp

n°67966
airseb
Posté le 28-10-2001 à 12:37:10  profilanswer
 

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 ?  :D

n°68030
airseb
Posté le 28-10-2001 à 19:24:25  profilanswer
 

uppppppppp  :D  :D  :D

n°68032
TheJackal
Posté le 28-10-2001 à 19:36:52  profilanswer
 

MSDN Library

n°68039
youdontcar​e
Posté le 28-10-2001 à 20:18:36  profilanswer
 

airseb a écrit a écrit :

 
 
tu as eu où ces infos ?
comment on y accède ?  :D  



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

n°68041
karlkox
Posté le 28-10-2001 à 20:22:28  profilanswer
 
mood
Publicité
Posté le 28-10-2001 à 20:22:28  profilanswer
 

n°68071
kason
Ab uno disce omnes
Posté le 28-10-2001 à 23:06:13  profilanswer
 

Je vous remercie pour vos réponses  :wahoo: :)  
 
@ +  :hello:
 
kason
----------------------------------

Citation :

Ab uno disce omnes

n°68337
kason
Ab uno disce omnes
Posté le 29-10-2001 à 23:35:51  profilanswer
 

up   :wahoo: :)
 
kason
 

Citation :

Du sublime au ridicule, il n'y a qu'un seul pas, Napoléon Bonaparte


---------------
Seul le calme paisible d'un lac peut endiguer la force furieuse d'un torrent.
n°68426
gatorette
Posté le 30-10-2001 à 11:18:44  profilanswer
 

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).


---------------
each day I don't die is cheating
n°68524
rufo
Pas me confondre avec Lycos!
Posté le 30-10-2001 à 15:27:25  profilanswer
 

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 :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  Fichier Bitmap et programmation en C...

 

Sujets relatifs
cherche doc pour programmation réseau sous unix/linuxmodification du fichier autoexect.bat sous win 2000?
[regexp ?] Récupérer les mails d'un fichier texte ?C++ Linux, fichier include ?¿
[ php ] Creer un fichier a partir d un formulaireWeb : affichage de données extrait d?un fichier genre txt
programmation de mods pour UT et possibilités[C++] Recuperer des valeurs depuis un fichier
[C] Programmation Windowslien permanent entre un fichier excel et base access ?
Plus de sujets relatifs à : Fichier Bitmap et programmation en C...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR