backbuffer und GDI+
-
Ich hab da ein Problem mit der GDI+. Ich prog gerade ein Spiel und nutzt da einen backbuffer auf den ich zeichne. Von zeit zu zeit zeichne ich dann mit dem Backbuffer auf das Fenster. Soweit so gut und klappt prima, allerdings machen das Aplha blending Probleme. Wenn ich mit dem Backbuffer auf Pixel zeichne die nich schwarz sind dann kommt da etwas anderes raus als auf dem Backbuffer. Gibt es da eine Funktion um Pixel für Pixel zu kopiren und nicht zu überzeichnen? oder wie kann ich das anstellen?
-
Was genau hast du vor

Normalerweise hast du doch im Backbuffe exakt das, was du auch auf dem Bildschirm haben willst und blittest diesen nur mit BitBlt auf deinen DC
-
Normalerweise hast du doch im Backbuffe exakt das, was du auch auf dem Bildschirm haben willst und blittest diesen nur mit BitBlt auf deinen DC
Ich nutze GDI**+**, das heist um BitBlt nutzen zu können müsste ich zuerst ein HDC aus meinem Graphics Object basteln. Das würde gehen allerdings wäre es besser (glaub ich) wenn ich GDI+ nutzen würde, denn ich glaub nicht, dass diese Konvertirung Graphics -> HDC und zurück sehr schnell ist.
-
Du kannst doch das DC-Handle, welches du für die Erzeugung der Graphics-Instanz angegeben hattest, weiterverwenden - sind doch quasi nur zwei verschiedene Schnittstellen, die auf den selben Speicher zugreifen - oder täusche ich mich da?!
-
Ich hab es versucht und es klappt nicht. Ich vermute mal, dass es ist weil GDI 3 byte für ein Pixel nutzt und GDI+ 4 (RGB + Alpha)
-
Bei mir klappt das wunderbar - zeig doch mal deinen Code