GdiPlus[30]: IGPPen: 线帽
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 属性用来读写虚线线帽, 这在实线中没有效果; 测试图:
![](/assets/blank.gif)
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, 测试图:
![](/assets/blank.gif)
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: 线帽相关推荐
- GdiPlus[29]: IGPPen: 虚线样式
为什么80%的码农都做不了架构师?>>> 通过画笔的 DashStyle 属性可设置或读取虚线样式. 通过 SetDashPattern 方法或 DashPattern 属性可 ...
- GdiPlus[28]: IGPPen: 建立复合画笔
设置画笔的 CompoundArray 属性可得到复合画笔. 它对应的类型是 IGPCompoundArray (IGPCompoundArray = IGPArray<Single>). ...
- 博客总目录(2007.11.12 - 2010.4.25)
如果我的学习记录和历程能对你有所帮助, 我非常高兴; 但是 -- "万一" 不是高手.更不是大师, 只是利用工作之余学点东西, 并感觉学得挺吃力. 内容都是写时才会, 难免稚嫩, ...
- GdiPlus[6]: 五种画刷总览
为什么80%的码农都做不了架构师?>>> GDI+ 有五种画刷: 实心画刷: IGPSolidBrush 阴影画刷: IGPHatchBrush 纹理画刷: IGPTextur ...
- GdiPlus[44]: IGPGraphics (三) 关于文本绘制续 - IGPStringFormat
IGPStringFormat 的方法和属性: //方法: IGPStringFormat.GetTabStops(); { 获取制表位 } IGPStringFormat.SetTabStops() ...
- GdiPlus[59]: 图像(十一) IGPImageAttributes 之颜色矩阵(TGPColorMatrix)变换
IGPMatrix 矩阵 是个接口, 要通过 TGPMatrix 实例化后使用, 其内置了很多方法和属性. TGPColorMatrix 只是一个结构体, 除了矩阵数据(5*5)外, 它只有一个方法: ...
- GDI+ 学习记录(2) 画笔线帽 - Cap
//线帽 varg: TGPGraphics;p: TGPPen; beging:=TGPGraphics.Create(Canvas.Handle);g.Clear(aclWhite);p:=TGP ...
- GDIplus的初次接触--加载并显示常用格式图片
在没有接触Gdiplus之前,在vc中绘制图片,通常加载一张位图,然后进行贴图.对于现在多种多样的图片格式,之前的GDI并不支持(应该是这样的,呵呵).而使用Gdiplus则可以选择多种图片格式,比如 ...
- Linux 内核,30 年C 语言将升级至 C11
Linux 内核,30 年C 语言将升级至 C11 还在使用 89 年版 C 语言的 Linux 内核,现在终于要做出改变了.今天,Linux 开源社区宣布,未来会把内核 C 语言版本升级到 C11, ...
最新文章
- adams建立一绳索不带滑轮_建立企业精益供应链,必须先解开现有绳索 系列(一)...
- 从零开始学python数据分析-从零开始学Python数据分析(视频教学版)
- hdu1722 切蛋糕
- 2019年——欢度中秋,喜迎国庆
- mysql中删除标识列的语句_MySQL中一些常用的数据表操作语句笔记
- linux使网卡点亮_Linux下 无线网卡配置无线唤醒功能的方法
- 2008年全国计算机等级考试须知及参考资料
- 使用matlab设计iir滤波器并自行编写代码实现iir滤波器(可对应于C语言应用在嵌入式系统中)
- mysql workbench6.3.5_mysql workbench
- 一哥答疑,如何面对繁杂的数据需求?
- 中等分辨率卫星影像幅宽大比拼
- Unity小地图中点击角色移动功能 (附上demo)
- 数据中台你想知道的都在这里!
- 【论文汇总】人群计数中Transformer的应用,持续更新
- python高德 查询县_Python和高德开放平台——地名地址空间化及采集POI信息
- SpringBoot使用hutool生成图片二维码
- ctf——如来十三掌
- 在MOSS中开发和部署Infopath
- parallel的一个小坑
- 阵列天线中阵元间距、波程差与相位差之间的关系