CDC - Bitmap
-
hallo zusammen,
wie kann ich ein CDC Objekt auf ein CBitmap Objekt speichern ?
z.B. wenn ich ein CBitmap in ein CDC laden möchte geht das so :
CBitmap m_Backbuffer;
CDC backbufferDC;backBufferDC.CreateCompatibleDC (&windowDC);
backBufferDC.SelectObject (&m_BackBuffer);Wie sieht es nun aus , wenn ich das CDC in ein CBitmap speichern will ?
Hat jemand eine Idee ?
-
das get gar nicht und es macht auch keinen Sinn, warum sollte man einen Devuce-Kontext in einer Bitmap speichern. Die bitmap is die Grafik die angezeigt werdfen soll, Der CDC ist der "Handler" der sich um die Anzeige an sich kümmert, also ist es doch nur logisch das man ein Bitmap an ein CDC binden kann aber nicht umgekehrt. Oder anders gefragt was bezwecks du mit der Aktion?
-
Also mein Problem is das ich einen Bewegungsablauf programmiere.
Siehe http://www.henkessoft.de/C++/MFC/mfc_einsteigerbuch_kapitel9.htm
Nun kopiere ich einige CDC zusammen und erzeuge dann mit einem Timer eine Animation. Nun leider scheint diese Methode ziemlich rechenintensiv zu sein , so dass die Animation langsam läuft , da zuviele CDC kopiert werden. Nun wollte ich
die Animation aufteilen. Nun muss ich den zusammen gestellten CDC ( aus mehreren kopiert ) als CBitmap speichern . Damit ich dieses CBitmap nun bei neuen CDC als Hintergrund benutzen kann.
-
ich glaub zwar nicht das es an den CDC liegt, aber eigentlich reichen doch genau 2 CDC um eine animation zu erstellen. Der erste ist ein MemDC welcher vom ScreenDC abgeleitet ist (kompatiebel) und der 2. ist dewr eigentliche ScrennDC. Du lädst die Bilder in eine Bitmap, diese selektierst du in den MemDC und Blittest dan in den ScrennDC, und fertig, wenn du das ganze etwas geschickt machst kommst du mit einer Bitmap und 2 CDC locker hin, und ich kann mir net vorstellen das es zu langsam ist, MPEG2 abspielen ist noch viel mehr aufwand und das geht auch, oder zeig mal etwas Code wie du es bisher machst