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

  FORUM HardWare.fr
  Programmation
  C++

  LoadDib => charger une image en 24 bits ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

LoadDib => charger une image en 24 bits ?

n°1673770
xphanoo
Posté le 19-01-2008 à 14:51:06  profilanswer
 

bonjour
 
j'essaye d'améliorer les icônes des barres d'outils d'un logiciel, celles utilisées actuellement sont en 16 couleurs (4bits !). je voudrais passer en images 24 bits...
 
j'ai déjà réussi pour plusieurs éléments du programme (certaines barres de menu.. lorsque c'était codé en utilisant la fonction LoadBitmap) mais j'en ai qui sont codées différement (LoadDib), et j'arrive pas a lui faire manger du 24bits  :o  
 
là c'est la ligne qui charge le fichier bitmap: (tous les icones sont dans 1 seul bitmap, à découper par la suite)

Code :
  1. bmpPatterns = LoadDib(MAKEINTRESOURCE(IDB_PATTERNS));


 
avec bmpPatterns de type:

Code :
  1. LPMODPLUGDIB CMainFrame::bmpPatterns = NULL;


 
et la "définition du type MODPLUGDIB" (je suis pas sur de mes termes...)

Code :
  1. LPMODPLUGDIB LoadDib(LPCSTR lpszName)
  2. //-----------------------------------
  3. {
  4. HINSTANCE hInstance = AfxGetInstanceHandle();
  5. HRSRC hrsrc = FindResource(hInstance, lpszName, RT_BITMAP);
  6. HGLOBAL hglb = LoadResource(hInstance, hrsrc);
  7. LPBITMAPINFO p = (LPBITMAPINFO)LockResource(hglb);
  8. if (p)
  9. {
  10.  LPMODPLUGDIB pmd = new MODPLUGDIB;
  11.  pmd->bmiHeader = p->bmiHeader;
  12.  for (int i=0; i<16; i++) pmd->bmiColors[i] = p->bmiColors[i];
  13.  LPBYTE lpDibBits = (LPBYTE)p;
  14.  lpDibBits += p->bmiHeader.biSize + 16 * sizeof(RGBQUAD);
  15.  pmd->lpDibBits = lpDibBits;
  16.  return pmd;
  17. } else return NULL;
  18. }


 
 
 
 
actuellement si je lui rentre une bitmap 24bits il m'affiche une image noire... savez-vous comment adapter ce code pour lui faire supporter plus de 16 couleurs ?

mood
Publicité
Posté le 19-01-2008 à 14:51:06  profilanswer
 


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

  LoadDib => charger une image en 24 bits ?

 

Sujets relatifs
Génération image cryptoProblème insertion de video youtube sur image.
Probléme d'image dans un tableau PHP/MYSQL[CSS] Problème avec une image de fond
inserer faux virus dans une imageImage et javascript
[Résolu]Rétrécir une imagephpmyadmin -> Ne peut charger Mysql
Image survolée avec une zone réactive?Affichage dynamique d'une image
Plus de sujets relatifs à : LoadDib => charger une image en 24 bits ?


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