THPDFPage.SetDash

THPDFPage

 

Oben  Zurück  Weiter

Legt den Strichmustertyp fest

 

Delphi-Syntax:

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

 

C++-Syntax:

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

 

Beschreibung:

Das Strichmuster einer Linie steuert das Muster von Strichen und Lücken, die beim Zeichnen von Pfaden verwendet werden. Es wird durch ein Strich-Array (dash array) und eine Strich-Phase (dash phase) spezifiziert. Die Elemente des Strich-Arrays sind Zahlen, welche die Längen der abwechselnden Striche und Lücken angeben; die Strich-Phase gibt den Abstand innerhalb des Strichmusters an, an dem der Strich beginnen soll

 

Beispiele für Linienstrichmuster

STRICH-ARRAY

STRICH-PHASE

AUSSEHEN

BESCHREIBUNG

[]

[ 3 ]

[ 2 ]

[ 2 1 ] 

[ 3 5 ]

[ 2 3 ]

0

0

1

0

6

11

Dash pattern example

Kein Strichmuster (durchgehende Linie)

3 Einheiten ein, 3 Einheiten aus ... 

1 ein, 2 aus, 2 ein, 2 aus, … 

2 ein, 1 aus, 2 ein, 1 aus, … 

2 aus, 3 ein, 5 aus, 3 ein, 5 aus, … 

1 ein, 3 aus, 2 ein, 3 aus, 2 ein, …        

 

Code-Beispiel

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.

 

Siehe auch: NoDash