begin process at 2010 02 10 07:29:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

GUI

 > 

LoadBitmap


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

LoadBitmap

dimanche 3 août 2008 à 12:42:22 | LoadBitmap

Kazuya

Bonjour,

J'ai un programme qui contient une archive en resource interne et je sors un Bitmap de cette archive que je mets donc en mémoire.
Ce que je voudrais savoir c'est comment créer un HBITMAP depuis un buffer comme le fait l'api LoadBitmap avec les resources.

j'ai essayé divers trucs qui n'ont pas marché:
---------------------------------------------
BITMAPFILEHEADER *fileHeader = (BITMAPFILEHEADER *)data;
BITMAPINFO *bitmapInfo = (BITMAPINFO *)(data + sizeof(BITMAPFILEHEADER));
---------------------------------------------
HBITMAP hBmp = CreateBitmap( bitmapInfo->bmiHeader.biWidth,
                                    bitmapInfo->bmiHeader.biHeight,
                                    bitmapInfo->bmiHeader.biPlanes,
                                    bitmapInfo->bmiHeader.biBitCount,
                                    data + fileHeader->bfOffBits);
---------------------------------------------
HBITMAP hBmp = CreateDIBitmap(hDC,&bitmapInfo->bmiHeader,CBM_INIT,data + fileHeader->bfOffBits,bitmapInfo,DIB_RGB_COLORS);


Merci de votre aide
K@zuya
dimanche 3 août 2008 à 18:12:06 | Re : LoadBitmap

racpp

Administrateur CodeS-SourceS
Réponse acceptée !
Salut,
Voici un code simplifié qui marche bien chez moi:
HRSRC hresource = FindResource(hinstance, "ID_BMP", RT_BITMAP);
BITMAPINFO* pBitmapInfo = (BITMAPINFO*)LoadResource(hinstance, hresource);
UINT nombrecouleurs = pBitmapInfo->bmiHeader.biClrUsed;
if (nombrecouleurs == 0 && pBitmapInfo->bmiHeader.biBitCount <= 8)   nombrecouleurs = 1 << pBitmapInfo->bmiHeader.biBitCount;
UINT tailleheader = sizeof(BITMAPINFOHEADER) + nombrecouleurs * sizeof(RGBQUAD);
PVOID data = (PVOID)((ULONG_PTR)pBitmapInfo + tailleheader);
HDC hScreenDc = CreateCompatibleDC(NULL);
DIBSECTION section;
HBITMAP hbitmap = CreateDIBSection(hScreenDc, pBitmapInfo, DIB_RGB_COLORS, 0, 0, 0);
GetObject(hbitmap, sizeof(DIBSECTION), &section);
SetDIBits(hScreenDc,(HBITMAP) hbitmap, 0, section.dsBm.bmHeight, data, pBitmapInfo, DIB_RGB_COLORS);
DeleteDC(hScreenDc);
// hbitmap prêt ...

dimanche 3 août 2008 à 18:40:30 | Re : LoadBitmap

Kazuya

Nikel !

K@zuya


Cette discussion est classée dans : data, bmiheader, hbitmap, bitmapinfo, loadbitmap


Répondre à ce message

Sujets en rapport avec ce message

Lire le buffer de pixels a partir d'un HBITMAP [ par Kazuya ] Bonjour,j'ai un probleme pour passer un Bitmap en 32bpp,je charge le fichier en memoire (HBITMAP) et ensuite je tente de le modifier, mais le probleme Changement d'image ds un static en mfc... [ par vincesfire ] (VC++6, MFC)Bonjour, voila g un probleme pour mon projet de BTS,g un static qui me donne le niveau d'une batterie. IL est vert qd la batterie est char Texture !! [memory] [ par barraq ] salut, voila dans mon programme a l'initialisation je crée des textures en utilisant cette fonction : bool CreateTexture(UINT &texture, LPCTSTR strFi !!! ListView et HBITMAP !!! [ par yoyo269 ] Salut,je voudrais savoir s'il est possible de récupérer les images insérées dans une listview sous forme de HBITMAP et si oui, comment ?Merci d'avance <HttpSendRequest [ par sorata69 ] Bonjour, J'ai ceci dans mon code.  cout Voici ce qui m'affiche : " 0 122". En regardant la documentation de msdn j'ai appris ceci : Pb WIN32_FIND_DATA [ par LOIC83 ] Bonjour, je dois développer une application de versionning sous Windows dans le cadre d'un projet de C et je suis bloqué pour la récupération d'inform Problème de PostMessage [ par goutbouyo ] Salut,Je n'arrive pas à utiliser la fonction PostMessage dans mon programme :#define WM_CONNECTE (WM_USER+1)LRESULT CALLBACK Menu(HWND Dlg,UINT messag Image sur un bouton [MFC] [ par mfrai02 ] Salut , j'utilise visual studio .net 2003 et les MFC. j'utilise ce bout de code pour afficher une iamge sur un bouton et ça marche bien : HWND hBout Besoin de precision sur l'utilisation de la fonction pour redimensionner une image Bitmap [ par noetom ] Bonjour, j'ai besoin de redimmensionner une image Bmp et j'ai trouvé les sources pour le faire sur le site ici : http://www.cppfrance.com/code.aspx?i perte de device avec dinput [ par chamoine ] J'ai un soucis lorsque j'agrandi mon application après l'avoir réduite. Je suis obligé de killer celle-ci.... J'arrive parfaite a récupérer mes surfac


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,780 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales