Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » wie kann ich mit Createdibitmap umgehen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
15.05.2003, 11:31 Uhr
~freedoom
Gast


hallo leute

ich hab ein problem:

mit diesem Code erzeuge ich ein Bitmap-speicher und setze die pixel entsp.
Die Farbinformationen wird dann auf hbitmap übertragen.
Und dann tue ich mit StretchBlt das bitmap hbitmap 4-Fach vergrössert aus geben.
wenn die Bildschiermauflösung 32-Bit ist wird das bitmap nicht selektiert
hMemDC.SelectObject(hbitmap);
-> -> darum muss ich das Bitmap geräteunabhänhig erzeugen und das geht glaube ich mit CreateDIBitmap(...)
Aber ich verstehe nicht wie ich die Parameter setzen soll
Kann mir da jemand bitte helfen.

danke für jede hilfe

[cpp]
CBitmap hbitmap, bit;

//bit.LoadBitmap(IDB_BITMAP2);// grün gerasterte-Bitmap
if(! hbitmap.CreateBitmap(128, 64, 1, 16, NULL) )
MessageBox("Fehler bei CreateBitmap");

BITMAP bm;
hbitmap.GetObject( sizeof( BITMAP ), &bm );
//unsigned char *pData = new unsigned char [bm.bmHeight*bm.bmWidthBytes];
// Loop through and set the buffer values so that the pattern will be solid red.
for( int y=0; y<bm.bmHeight; y++ )
for( int x=0; x<bm.bmWidth; x++ )
{
//pData[x*2 + y] = 14;
//pData[x*2 + 1+ y] = 12;
TEST_ARRAY[x][y] = RGB(0,128,0);

}


hbitmap.SetBitmapBits( 4*129, TEST_ARRAY );
// Delete the data buffer.
//delete [] pData;


//HDC hMemDC = ::CreateCompatibleDC(NULL);
CDC hMemDC;
if(! hMemDC.CreateCompatibleDC(NULL) )
MessageBox("Fehler bei CreateCompatibleDC");

if(! hMemDC.SelectObject( hbitmap) )
MessageBox("Fehler bei SelectObject");

::StretchBlt(dc.m_hDC,// Ziel
FensterRechteck.left+2,
FensterRechteck.top+2,
(bm.bmWidth*4),//FensterRechteck.right - FensterRechteck.left,
(bm.bmHeight*4),//FensterRechteck.bottom - FensterRechteck.top,
hMemDC,// Quelle
0,
0,
bm.bmWidth,//512
bm.bmHeight,//256
SRCCOPY);
[cpp/]
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: