Entwickler-Ecke
Multimedia / Grafik - Images: überschneiden
Daniel_100 - So 03.08.03 19:48
Titel: Images: überschneiden
Hallo!
Mein Programm soll eine Meldung ausspuken, wenn sich zwei Images an irgendeiner Stelle überschneiden. Geht das?
Danke
Daniel
Aya - So 03.08.03 19:54
Hi,
klar... einfach überprüfen ob:
Delphi-Quelltext
1:
| ((Image1.Left + Image1.Width > Image2.Left) and (Image1.Left < Image2.Left + Image2.Width)) or ((Image1.Top + Image1.Height > Image2.Top) and (Image1.Top < Image2.Top + Image2.Height)) |
Ist jetzt einfach so aus dem kopf geschrieben, kann sein das tippfehler oder so drin sind ;)
Ist allerdings nur die überprüfung für die obere + linke kante.. die anderen beiden kannste aber leicht selber dazubasteln ;)
Au'revoir,
Aya~
Daniel_100 - So 03.08.03 20:12
Sorry, aber irgendwie funktioniert das nicht (mit if-then). Ich hab jetzt versucht, den Rest hinzuzufügen: nix. Vielleicht bin ich einfach nur zu blöd :oops: . Könntest du (oder jemand anders) dann den gesamten Code aufschreiben...
Danke
Aya - So 03.08.03 20:43
Hi,
na gut... hier mal nen ganzer Code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| function TForm1.CollisionTest: Boolean; begin Result:= (((Image1.Left > Image2.Left) and (Image1.Left < Image2.Left + Image2.Width)) or ((Image1.Left + Image1.Width > Image2.Left) and (Image1.Left + Image1.Width < Image2.Left + Image2.Width))) and (((Image1.Top > Image2.Top) and (Image1.Top < Image2.Top + Image2.Height)) or ((Image1.Top + Image1.Height > Image2.Top) and (Image1.Top + Image1.Height < Image2.Top + Image2.Height))); end; |
Au'revoir,
Aya
maximus - So 03.08.03 23:39
wahlweise könnte die funktion...
Delphi-Quelltext
1:
| function IntersectRect(out Rect: TRect; const R1, R2: TRect): Boolean; |
... auch weiterhelfen! Ist aber im prinzip das selbe :wink:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!