Pen.CompoundArray是一个数组,该数组包含四个元素,第一个元素是指Pen是最上侧开始的位置(相对Pen的宽度来讲),第二个元素是从上侧延伸到的位置,第三个元素是从上往下退缩的宽度,最后一个元素是从下往上退缩的宽度。

测试代码如下:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.Drawing.Drawing2D;
  10. namespace _003点_直线和曲线
  11. {
  12. public partial class Form1 : Form
  13. {
  14. public Form1()
  15. {
  16. InitializeComponent();
  17. }
  18. protected override void OnPaint(PaintEventArgs e)
  19. {
  20. //base.OnPaint(e);
  21. Graphics G = e.Graphics;    // 构造Graphics对象
  22. Pen p1 = new Pen(Color.Blue,10);    // 实例化Pen对象
  23. G.DrawLine(p1,20,20,330,20);        // 画直线
  24. Pen p2 = new Pen(Color.Blue,5);    // 实例化Pen对象
  25. float[] Pts = { 3,1,2,5};           // 定义一个浮点型数组
  26. p2.DashStyle = DashStyle.Dash;      // 定义Pen p2的DashStyle类型为DashStye
  27. p2.DashPattern = Pts;
  28. p2.DashCap = DashCap.Triangle;
  29. p2.StartCap = LineCap.Triangle;
  30. p2.EndCap = LineCap.ArrowAnchor;
  31. G.DrawLine(p2, 20, 50, 330, 50);
  32. Pen p3 = new Pen(Color.Blue,100);
  33. Single[] lines = { 0.0f, 0.1f, 0.9f, 1.0f };
  34. p3 = new Pen(Color.Blue, 100);
  35. p3.CompoundArray = lines;
  36. e.Graphics.DrawLine(p3,20,180,330,180);
  37. }
  38. }
  39. }

将数组lines改为:Single[] lines = { 0.0f, 0.3f, 0.9f, 1.0f };

可以明显看到上侧的宽度向中间延伸了。

转载于:https://blog.51cto.com/lixianhui/786915

跟着 伍逸 老师学GDI+ 之Pen.CompoundArray属性相关推荐

  1. 跟着 伍逸 老师学GDI+ 之Pen属性

    GDI+中的画笔 Pen 类型的属性1:Pen.DashStye属性,是设置该画笔的虚线的模式.具体如下: 1.Pen p2.DashStyle = DashStyle.Dash; // 设置Pen ...

  2. 跟着 伍逸 老师学GDI+ 之Pen的DashPatten属性

    MSDN中定义Pen.DashPaten 获取或者设置下划线的短划线的长度和空白区域的长度. 例如: float[] Pts = { 3,1,2,5}; p2.DashStyle = DashStyl ...

  3. 跟着 伍逸 老师学GDI+之Pen.DashCap、Pen.StartCap和Pen.EndCap属性

    Pen.DashCap 是当Pen.DashStye为Dash(虚线)的时候,设置的每一小段虚线两端的线帽形状 Pen.StartCap是当画笔开始画线的时候的线帽,假如从左到右画,则是设置最左端的线 ...

  4. 跟着 伍逸 老师学GDI+ 之SolidBrush,HatchBrush,LinearGradientBrush

    跟着 伍逸 老师学GDI+ 最近在看伍逸 老师著的<C# 二维三维图形绘制工程实例宝典>,感觉这本书太经典了,心想一定要坚持把这本书看完,为了能勉励自己,特注册次博客.在此对伍逸老师表示由 ...

  5. 跟着王进老师学Python:通过案例学条件选择-王进-专题视频课程

    跟着王进老师学Python:通过案例学条件选择-55人已学习 课程介绍         未来2年,拥有这种技能的人抢手 2017年是人工智能(AI)的元年,AI已经成为当前火热的前沿技术:而Pytho ...

  6. 视频教程-跟着王进老师学开发之C#篇:基础语法-C#

    跟着王进老师学开发之C#篇:基础语法 教学风格独特,以学员视角出发设计课程,难易适度,重点突出,架构清晰,将实战经验融合到教学中.讲授技术同时传递方法.得到广大学员的高度认可. 王进 ¥208.00 ...

  7. 跟着王进老师学开发Python篇第三季:Tkinter GUI项目实战篇-王进-专题视频课程

    跟着王进老师学开发Python篇第三季:Tkinter GUI项目实战篇-465人已学习 课程介绍         本季课程为Tkinter GUI项目实战:学生信息管理系统, 内容包含:项目总体介绍 ...

  8. 跟着王进老师学开发之C#篇:基础语法-王进-专题视频课程

    跟着王进老师学开发之C#篇:基础语法-10520人已学习 课程介绍         本次课程是初级课程,只要熟悉计算机的基本应用和操作,都可以完成本次课程学习.本课程深入浅出的介绍了C#语言的基本语法 ...

  9. 跟着王进老师学开发Python篇:基础强化案例讲解-王进-专题视频课程

    跟着王进老师学开发Python篇:基础强化案例讲解-143人已学习 课程介绍         共计27个项目案例+项目源码,跟着王进老师尽情玩转Python解释器! 案例涵盖的内容有:Python程序 ...

最新文章

  1. 一些有用的Python问题
  2. 用python画太阳系_用 Python 动态模拟太阳系运转
  3. 领度CEO廖睿:企业社交最大的阻力来自老板
  4. jvm性能调优实战 -52修复堆内存区域内存溢出问题OutOfMemoryError: Java heap space
  5. 【机器学习】聚类代码练习
  6. docker ps命令详解 列出运行中的容器
  7. 简单思维dp-- Gym - 102392B
  8. ThinkPHP redirect 页面重定向使用详解与实例
  9. android meta-data定义,Android中meta-data的使用
  10. ALL-TAG推出RFID墨水防损标签
  11. python字符编码转换说明及深浅copy介绍
  12. Treo 650使用专题及开发计划等
  13. 五、从命令行管理文件
  14. GIS应用技巧之环形地图制作
  15. 联筑赚赋能传统模架产业链数字化 促进产业发展互利共赢
  16. 掌握PPT制作高手的3大秘诀,从此熬夜加班是路人!
  17. 计算机任意符号,如何打特殊符号,勾勾叉叉之类(非输入法,任意电脑)
  18. python学习爬取数据二级页面的数据
  19. 详解pdfFactory的页面管理功能
  20. 手把手带你搞懂AMS启动原理

热门文章

  1. 影像科dsa为什么必须买维修保险_大型数字减影血管成像系统(DSA)的日常保养和维护...
  2. reverse() 函数
  3. 2023上海电力大学计算机考研信息汇总
  4. CSS常用英文字体介绍
  5. TKO 2-5 贪心算法之稳定排序2 基本素质2093
  6. 教你如何禁用U盘、屏蔽USB端口的三种方法
  7. 浏览器首页劫持到www.2345.com修复一例
  8. 英语演讲稿关于计算机小知识,求一篇英语演讲稿《If I were a teacher》
  9. Prometheus监控MongoDB数据库
  10. 宏病毒的研究与实例分析03——宏病毒处理篇