专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »PHP教程 » 点击这里:GdiPlus[29]: IGPPen: 虚线样式 »正文

点击这里:GdiPlus[29]: IGPPen: 虚线样式

来源: 发布时间:星期四, 2009年12月17日 浏览:0次 评论:0


  通过画笔 DashStyle 属性可设置或读取虚线样式.

  通过 SetDashPattern 思路方法或 DashPattern 属性可自定义虚线样式.

  通过 DashPattern 属性还可以读出已有样式定义时.

  自定义虚线样式样式时, 需要元素数是双数, 元素值依次表示实线和空白长度.

  通过 DashOff 属性可设置虚线偏移.

  系统提供虚线样式效果:



  自定义两种样式效果:



  虚线偏移效果:



  测试系统提供虚线样式:

uses GdiPlus; 
 
procedure TForm1.FormPa(Sender: TObject); 
var 
 Graphics: IGPGraphics; 
 Pen: IGPPen; 
 Pt1,Pt2: TGPPo; 
 i: Integer; 
begin 
 Graphics := TGPGraphics.Create(Handle); 
 Pt1.Initialize(20 , 20 ); 
 Pt2.Initialize(200 , 20); 
 
 Pen := TGPPen.Create(TGPColor.Red, 3); 
 
 for i := 0 to 4 do 
 begin 
  Pen.DashStyle := TGPDashStyle(i); 
  Graphics.DrawLine(Pen, Pt1, Pt2); 
  Graphics.TranslateTransform(0, Pt1.Y); 
 end; 
end; 


  测试自定义样式:

uses GdiPlus; 
 
procedure TForm1.FormPa(Sender: TObject); 
const 
 DashPatternArr: .gif' />[0..1] of Single = (16, 2); 
var 
 Graphics: IGPGraphics; 
 Pen: IGPPen; 
 Pt1,Pt2: TGPPo; 
begin 
 Pt1.Initialize(20, 20); 
 Pt2.Initialize(200, 20); 
 Graphics := TGPGraphics.Create(Handle); 
 Pen := TGPPen.Create($FF0000FF, 2); 
 
 Pen.SetDashPattern([8, 2, 1, 2]); 
 Graphics.DrawLine(Pen, Pt1, Pt2); 
 
 Graphics.TranslateTransform(0, Pt1.Y); 
 Pen.SetDashPattern(DashPatternArr); 
 Graphics.DrawLine(Pen, Pt1, Pt2); 
 
 Text := IntToStr(Ord(Pen.DashStyle)); //此值应该是 5, 也就是自定义样式 DashStyleCustom 
end; 


  虚线偏移测试:

uses GdiPlus; 
 
procedure TForm1.FormPa(Sender: TObject); 
var 
 Graphics: IGPGraphics; 
 Pen: IGPPen; 
 Pt1,Pt2: TGPPo; 
begin 
 Graphics := TGPGraphics.Create(Handle); 
 Pt1.Initialize(20, 30); 
 Pt2.Initialize(200, 30); 
 
 Pen := TGPPen.Create($FFC71585, 4); 
 Pen.DashStyle := DashStyleDashDotDot; 
 
 Graphics.DrawLine(Pen, Pt1, Pt2); 
 Graphics.TranslateTransform(0, Pt1.Y); 
 
 Pen.DashOff := Pen.DashPattern[0] + Pen.DashPattern[1]; 
 Graphics.DrawLine(Pen, Pt1, Pt2); 
end; 


0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: