THPDFPage.ClosePathFillAndStroke

THPDFPage

 

بالا  قبلی  بعدی

مسیر جاری را ببندید، پر کنید و ترسیم کنید

 

نحو Delphi:

procedure ClosePathFillAndStroke;

 

نحو C++:

void __fastcall ClosePathFillAndStroke( void );

 

توضیح

مسیر را ببندید، آن را پر کنید و سپس ترسیم کنید، و برای تعیین ناحیه‌ای که باید پر شود از قاعدهٔ عدد پیچش ناصفر استفاده کنید

قاعدهٔ عدد پیچش ناصفر

برای مسیرهای محدب ساده، قاعدهٔ عدد پیچش ناصفر ناحیهٔ داخل و خارج را همان‌طور که به‌طور شهودی انتظار می‌رود تعریف می‌کند. حالت‌های جالب‌تر، مسیرهای پیچیده یا خودمتقاطع مانند نمونه‌های نشان‌داده‌شده در تصویر هستند. برای مسیری که از یک ستارهٔ پنج‌پر با پنج پاره‌خط مستقیمِ متصل و متقاطع تشکیل شده باشد، این قاعده ناحیهٔ داخل را تمام سطح محصور در ستاره، از جمله پنج‌ضلعیِ مرکز، در نظر می‌گیرد. برای مسیری که از دو دایرهٔ هم‌مرکز تشکیل شده باشد، ناحیه‌های محصور در هر دو دایره داخل محسوب می‌شوند، به شرط آن‌که هر دو در یک جهت رسم شده باشند. اگر دایره‌ها در جهت‌های مخالف رسم شوند، طبق این قاعده فقط شکل دونات میان آن‌ها داخل است و "سوراخ دونات" خارج است.

[PICTURE nozerorul.bmp]

 

نمونه کد

program Rectangle;
{$APPTYPE CONSOLE}
uses
    SysUtils, Graphics, Classes, HPDFDoc;

var
    HPDF: THotPDF;

begin
    HPDF := THotPDF.Create(nil);
    try
        HPDF.AutoLaunch := true;                             // PDF file will be shown automatically
        HPDF.FileName := '\Rectangle.pdf';                   // Set PDF filename
        HPDF.BeginDoc;                                       // Create PDF file
        HPDF.CurrentPage.Rectangle( 10, 10, 100, 100 );      // Draw rectangle and fill
        HPDF.CurrentPage.ClosePathFillAndStroke;
        HPDF.EndDoc;                                         // Close PDF file
    finally
        HPDF.Free;
    end;
end.