THPDFPage.SetDash

THPDFPage

 

Sus  Anterior  Următor

Stabilește tipul modelului de liniuțe

 

Delphi syntax:

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

 

C++ syntax:

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

 

Descriere:

Modelul de liniuțe al liniei controlează modelul de liniuțe și spații folosit pentru trasarea căilor. Acesta este specificat printr-un tablou de liniuțe și o fază a liniuței. Elementele tabloului sunt numere care specifică lungimile alternativelor dintre liniuțe și spații; faza liniuței specifică distanța din modelul de liniuțe de la care începe trasarea

 

Exemple de modele de liniuțe pentru linii

TABLOU LINII

FAZĂ LINIE

ASPECT

DESCRIERE

[]

[ 3 ]

[ 2 ]

[ 2 1 ] 

[ 3 5 ]

[ 2 3 ]

0

0

1

0

6

11

Dash pattern example

Fără liniuțe

3 unități trasate, 3 unități de pauză ... 

1 trasată, 2 de pauză, 2 trasate, 2 de pauză, … 

2 trasate, 1 de pauză, 2 trasate, 1 de pauză, … 

2 de pauză, 3 trasate, 5 de pauză, 3 trasate, 5 de pauză, … 

1 trasată, 3 de pauză, 2 trasate, 3 de pauză, 2 trasate, …        

 

Exemplu de cod

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