|
Đặt kiểu mẫu gạch
Cú pháp Delphi:
procedure SetDash ( DashArray: array of Byte; Phase: Byte );
Cú pháp C++:
void __fastcall SetDash ( const Byte * DashArray, const int DashArray_Size, Byte Phase);
Mô tả:
Mẫu gạch của đường kiểm soát kiểu các đoạn gạch và khoảng trống dùng để vẽ viền path. Nó được xác định bởi một mảng gạch và một pha gạch. Các phần tử trong mảng gạch là các số cho biết độ dài luân phiên của đoạn gạch và khoảng trống; pha gạch cho biết vị trí bắt đầu vẽ trong mẫu gạch
Ví dụ về mẫu gạch đường
| MẢNG GẠCH |
PHA GẠCH |
HIỂN THỊ |
MÔ TẢ |
| [] [ 3 ] [ 2 ] [ 2 1 ] [ 3 5 ] [ 2 3 ] |
0 0 1 0 6 11 |
 |
Không gạch 3 đơn vị vẽ, 3 đơn vị ngắt ... 1 vẽ, 2 ngắt, 2 vẽ, 2 ngắt, … 2 vẽ, 1 ngắt, 2 vẽ, 1 ngắt, … 2 ngắt, 3 vẽ, 5 ngắt, 3 vẽ, 5 ngắt, … 1 vẽ, 3 ngắt, 2 vẽ, 3 ngắt, 2 vẽ, … |
Ví dụ mã
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
|