![]() |
Region: IsVisible-Fehler
Folgendes Problem: Ich will testen, ob ne Region in nem Rechteck sichtbar ist. Dazu gibts die entsprechende Methode IsVisible. Die scheint allerdings ne Macke zu haben:
Code:
Visible1 ist korrekterweise true. Visible2 ist aber seltsamerweise false, obwohl das kleine Quadrat doch eindeutig im großen liegt, ergo sichtbar ist. Wie kommt das, und wie kann ich das Problem umgehen? :gruebel:
Region r = new Region(new RectangleF(0, 0, 1, 1));
Visible1 = r.IsVisible(new RectangleF(0.0f, 0.0f, 0.1f, 0.1f)); Visible2 = r.IsVisible(new RectangleF(0.1f, 0.1f, 0.1f, 0.1f)); greetz Mike [Edit]Beispiel noch offensichtlicher gemacht... |
Re: Region: IsVisible-Fehler
Ok, ich hab die Ursache gefunden. IsVisible arbeitet trotz float-Angabe trotzdem nur mit Ganzzahlen. (Ja, da hätt ich früher draufkommen können...) Warum allerdings das Rechteck im 0-Punkt sichtbar ist, und das verschobene nicht, weiß ich nicht.
Jedenfalls umgeh ich jetzt einfach das Problem, indem ich das Rechteck auf [0..1000] statt [0..1] abbilde, und die Regionen entsprechend skaliere. greetz Mike |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:27 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