StartCap 和 EndCap 属性分别用来读写两段的线帽, 测试图:



StartCap 和 EndCap 测试代码:


uses GdiPlus;procedure TForm1.FormPaint(Sender: TObject);
constCapArr: array[0..8] of Byte = (0, 1, 2, 3, $10, $11, $12, $13, $14);
varGraphics: IGPGraphics;Pen: IGPPen;Pt1,Pt2: TGPPoint;i: Integer;
beginPt1.Initialize(20, 20);Pt2.Initialize(200, 20);Graphics := TGPGraphics.Create(Handle);Pen := TGPPen.Create($FF2E8B57, 11);for i := 0 to Length(CapArr) - 1 dobeginPen.StartCap := TGPLineCap(CapArr[i]);Pen.EndCap := Pen.StartCap;Graphics.DrawLine(Pen, Pt1, Pt2);Graphics.TranslateTransform(0, Pt1.Y * 1.5);end;
end;

DashCap 属性用来读写虚线线帽, 这在实线中没有效果; 测试图:





DashCap 测试代码:


uses GdiPlus;procedure TForm1.FormPaint(Sender: TObject);
varGraphics: IGPGraphics;Pen: IGPPen;Pt1,Pt2: TGPPoint;
beginPt1.Initialize(20, 20);Pt2.Initialize(240, 20);Graphics := TGPGraphics.Create(Handle);Pen := TGPPen.Create($FF4169E1, 11);Pen.DashStyle := DashStyleDashDot;Pen.DashCap := DashCapFlat;Graphics.DrawLine(Pen, Pt1, Pt2);Graphics.TranslateTransform(0, Pt1.Y * 1.5);Pen.DashCap := DashCapRound;Graphics.DrawLine(Pen, Pt1, Pt2);Graphics.TranslateTransform(0, Pt1.Y * 1.5);Pen.DashCap := DashCapTriangle;Graphics.DrawLine(Pen, Pt1, Pt2);
end;

可通过 SetLineCap 方法一起设定 StartCap、EndCap、DashCap, 测试图:





SetLineCap 测试代码:


uses GdiPlus;procedure TForm1.FormPaint(Sender: TObject);
varGraphics: IGPGraphics;Pen: IGPPen;
beginGraphics := TGPGraphics.Create(Handle);Pen := TGPPen.Create($FFC71585, 11);Pen.DashStyle := DashStyleDashDot;Pen.SetLineCap(LineCapRoundAnchor, LineCapArrowAnchor, DashCapTriangle);Graphics.DrawLine(Pen, 20, 30, 300, 30);
end;

GdiPlus[30]: IGPPen: 线帽相关推荐

  1. GdiPlus[29]: IGPPen: 虚线样式

    为什么80%的码农都做不了架构师?>>>    通过画笔的 DashStyle 属性可设置或读取虚线样式. 通过 SetDashPattern 方法或 DashPattern 属性可 ...

  2. GdiPlus[28]: IGPPen: 建立复合画笔

    设置画笔的 CompoundArray 属性可得到复合画笔. 它对应的类型是 IGPCompoundArray (IGPCompoundArray = IGPArray<Single>). ...

  3. 博客总目录(2007.11.12 - 2010.4.25)

    如果我的学习记录和历程能对你有所帮助, 我非常高兴; 但是 -- "万一" 不是高手.更不是大师, 只是利用工作之余学点东西, 并感觉学得挺吃力. 内容都是写时才会, 难免稚嫩, ...

  4. GdiPlus[6]: 五种画刷总览

    为什么80%的码农都做不了架构师?>>>    GDI+ 有五种画刷: 实心画刷: IGPSolidBrush 阴影画刷: IGPHatchBrush 纹理画刷: IGPTextur ...

  5. GdiPlus[44]: IGPGraphics (三) 关于文本绘制续 - IGPStringFormat

    IGPStringFormat 的方法和属性: //方法: IGPStringFormat.GetTabStops(); { 获取制表位 } IGPStringFormat.SetTabStops() ...

  6. GdiPlus[59]: 图像(十一) IGPImageAttributes 之颜色矩阵(TGPColorMatrix)变换

    IGPMatrix 矩阵 是个接口, 要通过 TGPMatrix 实例化后使用, 其内置了很多方法和属性. TGPColorMatrix 只是一个结构体, 除了矩阵数据(5*5)外, 它只有一个方法: ...

  7. GDI+ 学习记录(2) 画笔线帽 - Cap

    //线帽 varg: TGPGraphics;p: TGPPen; beging:=TGPGraphics.Create(Canvas.Handle);g.Clear(aclWhite);p:=TGP ...

  8. GDIplus的初次接触--加载并显示常用格式图片

    在没有接触Gdiplus之前,在vc中绘制图片,通常加载一张位图,然后进行贴图.对于现在多种多样的图片格式,之前的GDI并不支持(应该是这样的,呵呵).而使用Gdiplus则可以选择多种图片格式,比如 ...

  9. Linux 内核,30 年C 语言将升级至 C11

    Linux 内核,30 年C 语言将升级至 C11 还在使用 89 年版 C 语言的 Linux 内核,现在终于要做出改变了.今天,Linux 开源社区宣布,未来会把内核 C 语言版本升级到 C11, ...

最新文章

  1. 124页哈佛数学系本科论文,带你了解流形学习的数学基础
  2. win7组件服务COM+应用程序编录错误解决办法
  3. Java报异常时getMessage()方法返回null
  4. [转]我们为什么要用vue,他解决了什么问题,如何使用它?
  5. 推荐: SQL Server Management Express Edition插件
  6. XML揭秘 入门 应用 精通pdf
  7. 配置rsync同步+inotify实时监控
  8. HashMap中,比较key是否相等为什么要重写equal() 和hashCode()这两个方法?
  9. DB9接口定义 串口接口定义 MAX232电路
  10. Java程序员必备的网盘资源 大集合
  11. 天玥运维安全网关(启明星辰堡垒机)无法登录资源主机的问题
  12. 钱币兑换问题c语言编程,关于兑换货币问题
  13. 基础知识--pcre
  14. 猴子爬树php,爬树就像猴子一样顺溜的生肖女
  15. 基于NAR神经网络的时间序列预测
  16. python的flask框架显示柱状图_使用Python的Flask框架,结合Highchart,动态渲染图表...
  17. 水利水电安全员考试单选练习题库(11)
  18. PCB抗干扰设计原则
  19. linux系统怎么下载
  20. 保护站点上已存在另一个具有相同实例 UUID的虚拟机_化合物晶形专利权利要求的表征及保护范围探讨...

热门文章

  1. Jfinal 显示欢迎页 index.jsp
  2. 2015 Spark 将走向哪里?
  3. struts2批量删除
  4. linux操作命令等积累
  5. 使用Treeview模拟操作系统的文件系统
  6. hdu-5781 ATM Mechine(dp+概率期望)
  7. picturebox 图片自适应
  8. 编程算法 - 切割排序 代码(C)
  9. Struts学习笔记_i18n
  10. 开源项目导入eclipse的一般步骤[转]