THPDFPage.SetDash

THPDFPage

 

Đầu trang  Trước  Tiếp

Đặt kiểu mẫu gạch

 

Cú pháp Delphi:

procedure SetDash ( DashArray: array of Byte; Phase: Byte );

 

Cú pháp C++:

void __fastcall SetDash ( const Byte * DashArray, const int DashArray_Size, Byte Phase);

 

Mô tả:

Mẫu gạch của đường kiểm soát kiểu các đoạn gạch và khoảng trống dùng để vẽ viền path. Nó được xác định bởi một mảng gạch và một pha gạch. Các phần tử trong mảng gạch là các số cho biết độ dài luân phiên của đoạn gạch và khoảng trống; pha gạch cho biết vị trí bắt đầu vẽ trong mẫu gạch

 

Ví dụ về mẫu gạch đường

MẢNG GẠCH

PHA GẠCH

HIỂN THỊ

MÔ TẢ

[]

[ 3 ]

[ 2 ]

[ 2 1 ] 

[ 3 5 ]

[ 2 3 ]

0

0

1

0

6

11

Dash pattern example

Không gạch

3 đơn vị vẽ, 3 đơn vị ngắt ... 

1 vẽ, 2 ngắt, 2 vẽ, 2 ngắt, … 

2 vẽ, 1 ngắt, 2 vẽ, 1 ngắt, … 

2 ngắt, 3 vẽ, 5 ngắt, 3 vẽ, 5 ngắt, … 

1 vẽ, 3 ngắt, 2 vẽ, 3 ngắt, 2 vẽ, …        

 

Ví dụ mã

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

var
    HPDF: THotPDF;

const
    DashArray: array [0..3] of Byte = ( 6, 4, 2, 4 );

begin
    HPDF := THotPDF.Create(nil);
    try
        HPDF.AutoLaunch := true;                       // PDF file will be shown automatically
        HPDF.FileName := '.\Ellipse.pdf';              // Set PDF filename
        HPDF.BeginDoc;                                 // Create PDF file

        HPDF.CurrentPage.SetDash( DashArray, 0 );      // Set  - . -  dash pattern
        HPDF.CurrentPage.MoveTo ( 20, 20 );            // Move current point to 20, 20
        HPDF.CurrentPage.LineTo ( 300, 100 );          // Draw line from current point to 200, 100
        HPDF.CurrentPage.Stroke;                       // and stroke

        HPDF.CurrentPage.NoDash;                       // Set solid dash pattern
        HPDF.CurrentPage.MoveTo ( 300, 100 );          // Move current point to 300, 100
        HPDF.CurrentPage.LineTo ( 10, 200 );           // Draw line from current point to 10, 100
        HPDF.CurrentPage.Stroke;                       // and stroke

        HPDF.EndDoc;                                   // Close PDF file
    finally
        HPDF.Free;
    end;
end.

 

See also: NoDash