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. 零开始学python_从零开始学Python
  2. 文本特征选择 java代码_文本分类入门(十)特征选择算法之开方检验
  3. Android 手电筒源码
  4. SAP TableControl 控制单个单元格输入
  5. centos 安装nginx笔记
  6. SQL Server 2017 2019 Linux(Centos、Unbuntu16.04、Unbuntu18.04、Unbuntu20.04)安装过程详解
  7. 用getBoundingClientRect()来获取页面元素的位置
  8. 吸尘器电机拆解图解_老少皆宜居家清理更轻松?吉米A6上手把无线吸尘器体验...
  9. Python 字典删除元素clear、pop、popitem
  10. 基于 HTML5 WebGL 的 3D 服务器与客户端的通信
  11. java基础——java基本运算
  12. Bash中命令连接符的用法——一次执行多个命令-转
  13. C# Web Service 不使用服务引用直接调用方法(转)
  14. Transformer在图像复原领域的降维打击!ETH提出SwinIR:各项任务全面领先
  15. JavaWEB开发国际化
  16. bootstrap modal 关闭时右侧滚动条消失,页面左移的解决方法
  17. ai背景合成_视频素材不好找!图片也能生成视频啦,AI剪辑助力原创短视频创作...
  18. 在vue项目中调用echarts官网百度地图实例
  19. SAP PI PO XSLT Mapping of Adapter-Specific Message Attributes
  20. 面向对象的类、方法和对象

热门文章

  1. memwatch内存泄露检测工具
  2. SQLSERVER中的自旋锁
  3. 在Excel中实现下拉列表选择录入
  4. P1357 花园 (矩阵快速幂+ DP)
  5. Visual Studio 2019 preview中体验C# 8.0新语法
  6. 11. IDEA 在同一工作空间创建多个项目
  7. 搬运 centos7.2 apache 绑定二级目录 访问依然是apache页面
  8. 桥接模式下的手机-电脑-开发板连接
  9. do { ....} while(0) 在宏里冗余的意义
  10. 【原创】SQL SERVER 查询Job作业基本信息及执行情况