THPDFPage.SetDash

THPDFPage

Ylös Edellinen Seuraava

Asettaa katkoviivan mallin tyypin

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:

Viivan katkoviivakuvio ohjaa katkoviivojen ja välien kuviota, jota käytetään polkujen piirtämiseen. Se määritetään katkoviivataulukolla (dash array) ja katkoviivan vaiheella (dash phase). Katkoviivataulukon elementit ovat lukuja, jotka määrittävät vuorottelevien katkoviivojen ja välien pituudet; katkoviivan vaihe määrittää etäisyyden katkoviivakuvioon, josta katkoviiva aloitetaan

Esimerkkejä viivan katkoviivakuvioista

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 yksikköä päällä, 3 yksikköä pois päältä

1 päällä, 2 pois päältä, 2 päällä, 2 pois päältä, …

2 päällä, 1 pois päältä, 2 päällä, 1 pois päältä, …

2 pois päältä, 3 päällä, 5 pois päältä, 3 päällä, 5 pois päältä, …

1 päällä, 3 pois päältä, 2 päällä, 3 pois päältä, 2 päällä, …

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