|
THPDFPage.Fill
|
ด้านบน ก่อนหน้า ถัดไป |
ระบายสีพื้นหลังพาธ
Delphi syntax: procedure Fill;
C++ syntax: void __fastcall Fill ( void );
คำอธิบาย ระบายสีพื้นหลังพาธ โดยใช้กฎ nonzero winding number เพื่อกำหนดพื้นที่ที่ต้องระบายสี กฎ nonzero winding เป็นกฎการระบายสีที่ระบุว่าจุดหนึ่งอยู่ภายในพื้นที่หรือไม่ โดยการลากเส้นรังสีจากจุดนั้นไปยังค่าอนันต์ในทิศทางใด ๆ แล้วตรวจสอบจุดที่เซกเมนต์ของพาธตัดผ่านเส้นรังสี เริ่มต้นจากศูนย์ บวกหนึ่งทุกครั้งที่เซกเมนต์พาธตัดผ่านเส้นรังสีจากซ้ายไปขวา และลบหนึ่งทุกครั้งที่เซกเมนต์พาธตัดผ่านเส้นรังสีจากขวาไปซ้าย หลังจากนับการตัดผ่านแล้ว หากผลลัพธ์เป็นศูนย์ แสดงว่าจุดนั้นอยู่ภายนอกพาธ มิฉะนั้นจะอยู่ภายใน |