Bild löschen zum Neuzeichnen...
-
Hi, hab noch ne Frage..hab aber diesmal nix in der Suche/FAQ gefunden *schäm*:[ ...
Ich würd gern ein Bitmap das ich auf den NULL-DC (Window-DC , direkt auf den Schirm eben!) male, rumbewegen. Jetzt muß ich aber das Geschmiere daß ich damit jeweils anrichte wieder wegmachen, bevor ich das nächste Bild zeichne. Damit die Figur oder was auch immer eben immer nur einmal auf dem Bildschirm zu sehen is (hoffe ihr wißt was ich meine)..naja wenn es Linien wären ging das jetzt mit XOR-Pen drübermalen(soviel ich weiß)...aber gibts jetzt auch ne Möglichkeit Bitmaps (TBitmap zB) xor-mäßig zu zeichnen..daß eben das Bild ausgelöscht wird, ohne daß ich alle Pixel einzeln XOR zeichne (was wohl zu langsam wär)...
hoffe des Problem ist klar
-
Ich habs mir nochmal überlegt, ich glaub es wird kaum ein Weg dranvorbei gehen, die Stelle an der ich das Bild hinzeichne erst zu sichern (in ein Bitmap oder so). Im nächsten Durchlauf muß dann das gesicherte Bild wieder über die Stelle drüber..naja wie auch immer gibts ne Möglichkeit aus einem TCanvas einen rechteckigen Ausschnitt auszuschneiden und direkt in ein TBitmap zu kopieren, was möglichst schnell geht?
-
Versuchs doch mal mit CopyToClipboard und dann mit PastFromClipboard
oder
TBitmap->Assign(TImage->Picture->Graphic), wobei du deine Grafik auf das TCanvas von TImage zeichnest.[ Dieser Beitrag wurde am 26.03.2003 um 12:25 Uhr von maam editiert. ]
-
Hi, danke! hab auch selber was gefunden womit ich grad rumprobiere.. TCanvas::CopyRect()
-
Na gut, auch auf die Gefahr hin, daß ich nerve (
)..ich hab es jetzt einigermaßen hingekriegt, nur ist es net so das Gelbe vom Ei, weil wenn Fenster verschoben werden, werden dann Teile aus anderen Fenstern noch in das verschobene fenster gemalt und so Scheiße..ich bin mitterweile der Ansicht, daß es am Besten gehen würde, wenn man einfach dem Fenster untendrunter ein InvalidateRect() schicken würde, daß der entsprechende Bereich neu gezeichnet wird.. nur weiß jemand wie ich an das Fenster-handle des oder der Fenster komme, das / die sich Gerade sichtbar in einem rechteckigen Bereich befinden?!
Wär echt cool, wenn mir das jemand sagen könnte(is wohl eher WinApi..naja)
-
Ich schreib's ins WinApi-Forum, ihr könnt den Thread hier meinetwegen killen!
-
wenn du ein bild bewegen willst, musst du das bild vorher wieder entfernen und an die neue stelle erneut zeichnen, sonst wird das nix. warum blendest du dein bild nicht kurz aus und veranlasst den background zum neuzeichnen. dann blendest du dein bild wieder ein.
-
was glaubs du was ich die ganze zeit mache