Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#2

AW: "Hit Test" im Polygon mittels PtInRegion

  Alt 22. Jun 2010, 06:53
Du musst sowohl dein Polygon als auch die Messpunkte in Integer-Werte umwandeln. Wenn dir der damit enstehende Genauigkeitsverlust egal ist, kannst du dieses Verfahren anwenden.

Aus Performancegründen solltest du allerdings die PolygonRgn nur einmal erzeugen und dann immer nur PtInRgn aufrufen.

Zur Umwandlung von TPointFloat zu TPoint: Ermittle den möglichen Bereich der Messpunkte und mappe den auf den erlaubten Bereich von TPoint. Ich bin mir nicht sicher, ob wirklich der gesamte Integer-Bereich zulässig ist. Zumindest bei Win95/98/Me war das jedenfallls nicht so. Es ist dabei übrigens egal, ob du die X- und Y-Koordinaten mit den gleichen Faktoren umrechnest. Da du nur mit geraden Linien arbeitest, würde auch bei einer Verzerrung das richtige herauskommen.
Uwe Raabe
  Mit Zitat antworten Zitat