[WinApi]CreateBitmap probleme

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
Benutzeravatar
Ingrater
Establishment
Beiträge: 103
Registriert: 18.04.2007, 21:52

[WinApi]CreateBitmap probleme

Beitrag von Ingrater »

Ich will einem Button ein Bitmap verpassen um eine Farbe anzuzeigen die der User voher ausgewählt hat. Dummerweise verstehe ich überhaupt nicht wie ich die Daten strukturieren muss um ein richtig farbiges Bitmap zu erhalten. Der folgende Code sollte ein weißes Bitmap erzeugen, erzeugt aber ein Schwarzes. Ich habs auch schon mit rot, etc probiert, funktioniert auch ich, ergebnis wieder Schwarz. Was mache ich falsch? Es kann doch nicht so schwer sein ein einfarbiges Bitmap zu erzeugen und es anzeigen zu lassen.

Code: Alles auswählen

              int linesize = 10 * 3; //30

              boost::scoped_array<byte> BmpData(new byte[linesize*10]);
              for(int y=0;y<10;y++){
                for(int x=0;x<10*3;x+=3){
                  BmpData[y*linesize+x] = 0xFF; //self->_Color & 0xFF;
                  BmpData[y*linesize+x+1] = 0xFF; //(self->_Color >> 8) & 0xFF;
                  BmpData[y*linesize+x+2] = 0xFF; //(self->_Color >> 16) & 0xFF;
                }
              }
              HBITMAP bitmap = CreateBitmap(10,10,3,8,BmpData.get());
              SendMessage(GetDlgItem(hDlg,IDC_BTN7),BM_SETIMAGE,(WPARAM)IMAGE_BITMAP,(LPARAM)bitmap);
Benutzeravatar
jgl
Establishment
Beiträge: 109
Registriert: 08.04.2009, 08:58

Re: [WinApi]CreateBitmap probleme

Beitrag von jgl »

Hi,

siehe mal in der MSDN, unter CreateBitmap.
Dort wird das doch erklärt, hast Du das schon gecheckt?

http://msdn.microsoft.com/en-us/library/ms906571.aspx

Hatte auch mal dieses Problem, kann dir aber jetzt nicht genau helfen. Weiß nur das es etwas "umständlich" ist.

Gruß
Benutzeravatar
Ingrater
Establishment
Beiträge: 103
Registriert: 18.04.2007, 21:52

Re: [WinApi]CreateBitmap probleme

Beitrag von Ingrater »

Hm das hilft mir nicht wirklich weiter, in dem Beispiel Blitten die ja ein Bitmap auf den Bildschrim und das ist ja nicht was ich tun will. Außerdem verwenden sie auch CreateCompatibleBitmap. Ich will ja einfach ein Bitmap mit bestimmter größe und Farbe erzeugen und einem Button zuweisen.
Dirk Schulz
Establishment
Beiträge: 130
Registriert: 01.03.2009, 14:21
Alter Benutzername: frittentuete

Re: [WinApi]CreateBitmap probleme

Beitrag von Dirk Schulz »

Hi,

wie hier zu erkennen ist, wird bei 8Bit Bittiefe auf eine Farbtabelle zugegriffen, die es bei dir nicht gibt.

Da du sowieso dreimal 8Bit (RGB) deklarierst, wäre es logisch die Bittiefe auf 24 zu setzen. ;)

Ich hoffe das löst dein Problem.
Antworten