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. adams建立一绳索不带滑轮_建立企业精益供应链,必须先解开现有绳索 系列(一)...
  2. 从零开始学python数据分析-从零开始学Python数据分析(视频教学版)
  3. hdu1722 切蛋糕
  4. 2019年——欢度中秋,喜迎国庆
  5. mysql中删除标识列的语句_MySQL中一些常用的数据表操作语句笔记
  6. linux使网卡点亮_Linux下 无线网卡配置无线唤醒功能的方法
  7. 2008年全国计算机等级考试须知及参考资料
  8. 使用matlab设计iir滤波器并自行编写代码实现iir滤波器(可对应于C语言应用在嵌入式系统中)
  9. mysql workbench6.3.5_mysql workbench
  10. 一哥答疑,如何面对繁杂的数据需求?
  11. 中等分辨率卫星影像幅宽大比拼
  12. Unity小地图中点击角色移动功能 (附上demo)
  13. 数据中台你想知道的都在这里!
  14. 【论文汇总】人群计数中Transformer的应用,持续更新
  15. python高德 查询县_Python和高德开放平台——地名地址空间化及采集POI信息
  16. SpringBoot使用hutool生成图片二维码
  17. ctf——如来十三掌
  18. 在MOSS中开发和部署Infopath
  19. parallel的一个小坑
  20. 阵列天线中阵元间距、波程差与相位差之间的关系

热门文章

  1. Edge 浏览器被爆存在 XSS 绕过漏洞
  2. CentOS5.11安装Mac桌面主题
  3. 〖Windows〗Linux的Qt程序源码转换至Windows平台运行,编码的解决
  4. CCR源码分析-CCR架构
  5. sqlite3源码编译到Android,实现SQLite跨全平台使用
  6. 扫描java类文件_java递归与非递归实现扫描文件夹下文件的实例代码
  7. Linux 内存机制
  8. 20189222 《网络攻防实践》第二周作业
  9. JmsTemplate sendAndReceive 设置超时
  10. pat 团体天梯赛 L2-012. 关于堆的判断