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

 


Dernière réponse
Sujet : Fichier Bitmap et programmation en C...
rufo

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


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
rufo

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

gatorette 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).
kason up   :wahoo: :)
 
kason
 

Citation :

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

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

Citation :

Ab uno disce omnes

karlkox http://www.wotsit.org/search.asp?s=graphics
http://www.wotsit.org/download.asp?f=bmpadd
http://www.wotsit.org/download.asp?f=bmpfrmat
http://www.wotsit.org/download.asp?f=bmp
youdontcare

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

TheJackal MSDN Library
airseb uppppppppp  :D  :D  :D
airseb

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

TheJackal autant pour moi
me souvenait pu que celle la pouvait aussi faire les bmp
youdontcare 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 ...
TheJackal ?
pour afficher mais par pour lire
youdontcare 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 ...
kason 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:

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)