THPDFPage.SetDash

THPDFPage

 

Κορυφή  Προηγούμενο  Επόμενο

Sets dash pattern type.

 

Delphi syntax:

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

 

C++ syntax:

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

 

Description:

Το line dash pattern ελέγχει το pattern από dashes και gaps που χρησιμοποιούνται για stroke paths. Καθορίζεται από dash array και dash phase. Τα elements του dash array είναι numbers που καθορίζουν τα lengths των alternating dashes και gaps· το dash phase καθορίζει την distance μέσα στο dash pattern από την οποία αρχίζει το dash

 

Examples of line dash patterns

DASH ARRAY

DASH PHASE

APPEARANCE

DESCRIPTION

[]

[ 3 ]

[ 2 ]

[ 2 1 ] 

[ 3 5 ]

[ 2 3 ]

0

0

1

0

6

11

Dash pattern example

No dash

3 units on, 3 units off ... 

1 on, 2 off, 2 on, 2 off, … 

2 on, 1 off, 2 on, 1 off, … 

2 off, 3 on, 5 off, 3 on, 5 off, … 

1 on, 3 off, 2 on, 3 off, 2 on, …        

 

Code Example

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