Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » CBitmap - Wie benutzen?

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
30.09.2006, 21:21 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hi,
wie kann ich das CBitmap benutzen?

Wenn ich die MSDN richtig verstanden habe, ist ja SetBitmapBits die Palette? Wie setze ich dann aber die eigentlichen Bilddaten?!? Ich möchte aus einem Puffer (char-array) und einer Palette (256 farben) das bild in einem PictureFeld anzeigen, bzw überhaupt "irgendwie" auf einem Dialog unterbringen. Jedoch dynamisch und eben nicht aus einer bmp oder ressource.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
01.10.2006, 16:00 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo Flo,
bin mir jetzt nicht sicher ob ich das richtig verstanden hab:

C++:
void CMyAppDlg::OnPaint()
{
    if (IsIconic())
    {
        ......
                ......
    }
    else
    {
        CPaintDC pDC(this);
       CBitmap bitmap;
       CDC memDC;
       memDC.CreateCompatibleDC(&pDC);
       int width = 4;
       int height = 2;

           BYTE bits[32] = {0,  0, 0,  0, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0, 0,
               255, 0, 255, 0, 255, 255, 0, 0, 0, 255, 255, 0, 255, 255, 255, 0};
       bitmap.CreateCompatibleBitmap(&pDC,width,height);
       bitmap.SetBitmapBits(32,&bits);
           // Bitmap anzeigen
           (CBitmap*)memDC.SelectObject(bitmap);
           RECT rect;
           GetClientRect(&rect);
           pDC.StretchBlt(0, 0, rect.right-rect.left, rect.bottom-rect.top, &memDC,
                0, 0, width, height, SRCCOPY);
    }
}


Sollte eine Bitmap auf dem Dialog erzeigen.

Bearbeitung von Uwe:
Was ist bei Dir z.B. ein PictureFeld??

--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 01.10.2006 um 16:07 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
01.10.2006, 16:49 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


ok ich meinte mit PictureFeld ein "Picture Control". also CStatic und dann mit SetBitmap, nur das ignoriert er.
Hab das nun so gelöst das ich das komplett "per Hand" zeichne - ist für meine Wünsche sogar praktischer.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
02.10.2006, 11:26 Uhr
xXx
Devil


Hmm hast du denn im Resourcen Editor nen PictureControl genommen? Und bei den Settings des Controls auch auf Bitmap gestellt? Sollte dann eig. funktionieren ... allerdings ist es da auch wieder praktischer nen eig. Control zu schreiben, da du dir dann auch nen schönen Border usw machen kannst...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
02.10.2006, 11:29 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



Zitat von xXx:
Hmm hast du denn im Resourcen Editor nen PictureControl genommen? Und bei den Settings des Controls auch auf Bitmap gestellt? Sollte dann eig. funktionieren ... allerdings ist es da auch wieder praktischer nen eig. Control zu schreiben, da du dir dann auch nen schönen Border usw machen kannst...

jo das hab ich ja getan
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
24.05.2008, 11:52 Uhr
cmos



Hallo,

ich möchte aus einem ByteArray ein Bitmap erzeugen. Das macht ja nun der gegebene Codeschnipsel. Ich habe schon an den Einstellungen in diesem Code ein bisschen herumgespielt. Aber so ganz bin ich nciht dahinter gestiegen. Wie kommt es, das hier 8 Farben angezeigt werden ? Vielleicht kann mir jemand helfen, und sagen wie
der Code abzuändern ist, damit ich ein Bild 640*480 (1Byte / Pixel - Grauwert)
erzeugen kann und darstellen kann.

Grüße,
cmos
 
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: