![]() |
Wandern mit CopyRect
Werte Gemeinde!
Irgendwie hab ich mal wieder Tomaten auf den Augen -- ich kann es einfach nicht fassen: Ich kopiere mit CopyRect ein konstant großes Rechteck aus einer Bitmap1 auf eine zweite Bitmap2. Dabei wandere ich Schrittweise von links nach rechts in der Bitmap1. Am Anfang ist alles ok, aber mit zunehmender Schrittanzahl sehe ich, dass scheinbar der Bereich den ich aus der Bitmap1 kopiere immer größer wird und immer verkleinerter auf Bitmap2 dargestellt wird. Ich bin aber sicher, dass das Rechteck, welches ich kopiere konstant in seiner Größe ist. Hier die entsprechende Stelle im Code:
Delphi-Quellcode:
Das was ich in BMP3 zu sehen bekomme ist im 1. Schritt 100% ok, mit jedem weiterem Schritt jedoch, wird scheinbar der kopierte Bereich immer größer und wird im BMP3 ge-stratcht dargestellt (gestaucht, verkleinert).
X1 := 0;
X2 := 100; ... LOOP INC(X1); // wir wandern von links nach rechts INC(X2); // dito, also ist das Rechteck doch konstant groß?! {--- Kopiert Rechteck aus Bitmap1 nach Bitmap2 ----------------------} BMP2.Canvas.CopyRect( Bounds(0, 0, 100, 100), BMP1.Canvas, Bounds(X1, 0, X2, 100)); {--- Zeigt das Kopierte in BMP3 an ----------------------------------} BMP3.Canvas.CopyRect ( Bounds(0, 0, 100, 100), BMP2.Canvas, Bounds(0, 0, 100, 100)); ENDLOOP Zauberei? Jemand eine Idee, was ich da falch mache? Vielen Dank! Jazzman |
Re: Wandern mit CopyRect
Der dritte Parameter in Bounds gibt die Breite an, nicht den rechten Rand!
Delphi-Quellcode:
function Bounds(ALeft, ATop, AWidth, AHeight: Integer): TRect;
|
Re: Wandern mit CopyRect
Wow!
Und ich fragte mich schon gestern Abend, was denn wohl der Unterschied zwischen BOUNDS und RECT ist... unterliße es aber, das herauszufinden. :wall: Jetzt weiss ich es. Vielen Dank und 'nen schönen Tag! Gruß Jazzman |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:46 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