![]() |
Komplettes Canvas kopieren
Hi,
ich habe gerade ein kleines Problem mit einem Canvas-Objekt einer TPaintbox. Meine Ausgangssituation: - Ich habe eine von TPaintbox abgeleitete Komponente. - Ich zeichne auf die Canvas-Fläche der Paintbox. - Nun soll die gesamte Zeichenfläche kopiert werden. Das Problem: - Es wird nur der sichtbare Teil des Canvas kopiert. Bzw. es wird auch ein Teil der äußeren Form mitkopiert (die eben teilweise über dem Canvas liegt). Kann ich irgendwie dafür sorgen, dass alles kopiert wird? Ich steht grad mächtig auf dem Schlauch. Bin für jede Hilfe dankbar! Derzeit kopiere ich die Fläche auf diese Weise (innerhalb der abgeleiteten Paintbox-Komponente):
Delphi-Quellcode:
PS: Habe auch schon im Internet gesucht, aber nie eine passende Lösung gefunden.
tmpZwischenBitmap := TBitmap.Create;
tmpZwischenBitmap.Width := Self.Width; // Self.Width => Breite der Paintbox tmpZwischenBitmap.Height := Self.Height; // Self.Height => Breite der Paintbox r:=rect(0, 0, tmpZwischenBitmap.Width, tmpZwischenBitmap.Height); tmpZwischenBitmap.Canvas.CopyRect(r, Self.Canvas, r); |
AW: Komplettes Canvas kopieren
Eine TPaintbox behält ihren Inhalt nicht. Normalerweise zeichnet man auch nicht direkt darauf um ein Flackern zu vermeiden. Ein Beispiel findest du hier:
![]() Auf die Weise hast du den aktuellen Inhalt auch gleich in der Hintergrundbitmap parat. |
AW: Komplettes Canvas kopieren
Danke für die schnelle und gute Antwort!
Ich versuche mich gleich mal an der Umsetzung. Bedeutet nun leider ein Stück Arbeit. Edit: Funktioniert wunderbar und ging doch schneller als gedacht. Vielen, vielen Dank!!! :thumb::thumb::thumb: *closed* |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz