为什么80%的码农都做不了架构师?>>>   

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

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

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

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

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



系统提供的虚线样式效果:



自定义的两种样式效果:



虚线偏移效果:



测试系统提供的虚线样式:


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

测试自定义样式:


uses GdiPlus;procedure TForm1.FormPaint(Sender: TObject);
constDashPatternArr: array[0..1] of Single = (16, 2);
varGraphics: IGPGraphics;Pen: IGPPen;Pt1,Pt2: TGPPoint;
beginPt1.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.FormPaint(Sender: TObject);
varGraphics: IGPGraphics;Pen: IGPPen;Pt1,Pt2: TGPPoint;
beginGraphics := 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.DashOffset := Pen.DashPattern[0] + Pen.DashPattern[1];Graphics.DrawLine(Pen, Pt1, Pt2);
end;

转载于:https://my.oschina.net/hermer/blog/319032

GdiPlus[29]: IGPPen: 虚线样式相关推荐

  1. html dashed 属性,css虚线样式dotted和dashed

    讲到css虚线样式,应该会想到border的solid,网页布局中solid用的概率最高了,要有css虚线的效果还可以用图片做背景,但是不推荐,尽量使用css虚线样式做这个虚线的效果,那么css虚线样 ...

  2. php虚线_实现css虚线样式的两种方式:dotted和dashed(实例)

    css虚线边框怎么做?html虚线边框设置一般会想到border的solid,html网页布局中solid用的概率最高了,要有css虚线的效果还可以用图片做背景,但是不推荐,尽量使用css虚线样式做这 ...

  3. html dashed显示实线怎么改,实现css虚线样式的两种方式:dotted和dashed(实例)

    css虚线边框怎么做?html虚线边框设置一般会想到border的solid,html网页布局中solid用的概率最高了,要有css虚线的效果还可以用图片做背景,但是不推荐,尽量使用css虚线样式做这 ...

  4. html怎么添加左侧点虚线,css虚线样式,怎么在css里添加虚线

    css虚线样式,怎么在css里添加虚线 内容导读:控制div线框的是border,我们可以具体设置四条边的线框是否显示,也可以去设置虚线框的颜色和粗细.线框的设置可以让div的块状更加明显,至于是用虚 ...

  5. php hr样式虚线,CSS 虚线样式

    CSS 虚线样式 2010-03-03 效果演示 none: Defines no border dotted: Defines a dotted border dashed: Defines a d ...

  6. php hr样式虚线,CSS的虚线样式怎么实现

    说到CSS的虚线样式,那么我们会联想到border的solid,在网页的布局里solid用的概率应该是最高的了,但是大家知道还有dotted虚线和ashed虚线吗?今天来给大家介绍这俩种属性做出虚线的 ...

  7. php 去掉css样式,css虚线样式怎么去掉

    当超链接变为活动状态或获得焦点时,链接周围会出现一条虚线,以区别于其他链接,这是超链接的默认行为.它基本上是虚线轮廓,不会像边框那样影响周围的元素.想要去掉css虚线样式,我们可以使用CSS属性&qu ...

  8. GdiPlus[30]: IGPPen: 线帽

    StartCap 和 EndCap 属性分别用来读写两段的线帽, 测试图: StartCap 和 EndCap 测试代码: uses GdiPlus;procedure TForm1.FormPain ...

  9. [WTL/ATL]_[Gdiplus]_[绘制虚线并设置破折号空格的宽度]

    场景 WTL界面开发时,有些情况下需要绘制虚线,比如圆角矩形的虚线,默认的破折号和点之间的空格特别小,看着比较密集,那么如何增加点线之间的空格,或者增加破折号的长度? 说明 使用Gdiplus绘制圆角 ...

最新文章

  1. ABP框架展示异常信息
  2. 了解EOS看这一篇就够了一、团队二、技术三、项目进度四、争议和风险五、展望
  3. 深度学习下的医学图像分析 2
  4. python response.read_AttributeError:“Response”对象没有“read”属性
  5. 普通人看Build 2019 值得留心的亮点有哪些?
  6. eos操作系统_EOS相机统一的用户界面
  7. java怎么处理ajax请求,java怎么用ajax请求?jquery ajax请求后台的简单例子
  8. JSON Stringify示例–如何使用JS解析JSON对象
  9. 模式识别:聚类分析2020.05.27class
  10. 华为辟谣将发布石墨烯电池手机;梁建章回应携程杀熟;GitLab 12.6 发布 | 极客头条...
  11. nodejs+socket.io即时聊天实例
  12. oracle数据库王珊,数据库系统概论 王珊 教材部分总结
  13. SpringMVC的Model、Model Map、ModelAndView
  14. Silverlight的依赖属性与附加属性(四)
  15. 【微软2014实习生及秋令营技术类职位在线測试】题目1 : String reorder
  16. android 蓝牙耳机插拔,一种插拔式蓝牙耳机的制作方法
  17. 小学计算机表格课件,小学信息技术级轻松做表格Word表格制作PPT课件.ppt
  18. python打开网页后点击网页按钮_python单击网页上的按钮
  19. 量化交易有因子动物园 深度学习里有模型动物园(ModelZoo)又叫模型市场基于深度学习的增量学习,迁移学习等技术发展而来【调研】
  20. 腾讯笔试算法题-开锁

热门文章

  1. Facebook 推出查找SSRF 漏洞的新工具
  2. FBI 和 NSA 披露俄罗斯国家黑客使用的 Linux 恶意软件
  3. GitHub 推出安全新功能,帮助开源软件发现漏洞和机密信息
  4. C++使用VARIANT实现二维数组的操作
  5. Ubuntu 16.04 LTS 安装Mongodb 3.4
  6. 阿里“双十一”决胜物流战 智能、开放才能走的更远
  7. html5扫面二维码逻辑
  8. QPushButton 与 QListWidget 的按键响应
  9. 【Android】不依赖焦点和选中的TextView跑马灯
  10. [导入]在vs2005中调用远程WebService(幻想曲)