Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Überprüfen ob ein rectangle ein anderes überlappt (https://www.delphipraxis.net/157461-ueberpruefen-ob-ein-rectangle-ein-anderes-ueberlappt.html)

DeddyH 12. Jan 2011 16:38

AW: Überprüfen ob ein rectangle ein anderes überlappt
 
Deshalb hatte ich die Funktion auch verlinkt (#3).

mquadrat 12. Jan 2011 16:44

AW: Überprüfen ob ein rectangle ein anderes überlappt
 
Ah, sorry mein Fehler. Ist ja ne WinAPI Funktion.

fox67 12. Jan 2011 16:45

AW: Überprüfen ob ein rectangle ein anderes überlappt
 
macht nichts

Progman 12. Jan 2011 19:20

AW: Überprüfen ob ein rectangle ein anderes überlappt
 
Man kann es aber auch so machen:
Delphi-Quellcode:
function RectInRect(const Rect1, Rect2: TRect): Boolean;
begin
  Result := (Rect1.Left >= Rect2.Left) and
            (Rect1.Right <= Rect2.Right) and
            (Rect1.Top >= Rect2.Top) and
            (Rect1.Bottom <= Rect2.Bottom);
end;
//oder
function OverlapRect(const Rect1, Rect2: TRect): Boolean;
begin
  Result := (Rect1.Left < Rect2.Right) and
            (Rect1.Right > Rect2.Left) and
            (Rect1.Top < Rect2.Bottom) and
            (Rect1.Bottom > Rect2.Top);
end;

ich denke, die zweite Function ist besser geeignet 8-)

fox67 13. Jan 2011 14:11

AW: Überprüfen ob ein rectangle ein anderes überlappt
 
und wie würde dass dann mit einem canavas rectangle aussehen

Deep-Sea 13. Jan 2011 14:14

AW: Überprüfen ob ein rectangle ein anderes überlappt
 
Delphi-Quellcode:
If OverlapRect(Rect(1, 1, 8, 8), Rect(7, 2, 9, 9)) then ...


Du und dein Canvas ... da hat der Canvas nix verloren!

DeddyH 13. Jan 2011 14:18

AW: Überprüfen ob ein rectangle ein anderes überlappt
 
Zitat:

Zitat von Deep-Sea (Beitrag 1074481)
da hat der Canvas nix verloren!

Sach ich ja auch schon die ganze Zeit ;)

fox67 13. Jan 2011 14:42

AW: Überprüfen ob ein rectangle ein anderes überlappt
 
jetzt hab ich eine Idee würde es funktioniere wenn ich an die position des canvas rectangels ein timage anhefte mit der gleichen größe wie wie das canvas?

Bummi 13. Jan 2011 14:49

AW: Überprüfen ob ein rectangle ein anderes überlappt
 
Alle Antworten beziehen sich immer auf Koordinaten, diese haben keine Bindung zu einem Canvas, Image was auch immer. Wenn Du etwas malen willst hast Du auch schon Koordinaten.
Wenn Du vor dem Malen auf eine Kollision prüfen willst, verwende die genannten Funktionen um zu prüfen ob Du mit den Koordinaten mit denen Du malen möchtest ein "Problem" bekommst.
Oder meinst Du etwas ganz anderes ....

DeddyH 13. Jan 2011 14:50

AW: Überprüfen ob ein rectangle ein anderes überlappt
 
Es würde funktionieren, wenn Du einfach die beiden Rechtecke angibst, dazu braucht man doch kein Image.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:49 Uhr.
Seite 2 von 4     12 34      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz