HotPDF Delphi PDF Component Developer Guide loslab Logo

 

THPDFPage.SetDash

THPDFPage

 

Top  Previous  Next

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:

The line dash pattern controls the pattern of dashes and gaps used to stroke paths. It is specified by a dash array and a dash phase. The dash array's elements are numbers that specify the lengths of alternating dashes and gaps; the dash phase specifies the distance into the dash pattern at which to start the 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

dashlin

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

Copyright©2007-2025 losLab.com