一.绘制虚线的方法

  1. GDI绘制,使用的是System.Drawing.Pen
        Pen pen = new Pen(Color.Red, 1);
            pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Custom;
            pen.DashPattern = new float[] { 5, 5 };
            Graphics gh = this.CreateGraphics();
            gh.DrawLine(pen, 10, 150, 500, 150);

    这种方法使用的Pen 是System.Drawing.Pen,它的DashStyle属性类型是个枚举类型,可以直接设置为DashStyle.Custom,这样就可以使用虚线了

    必须提出的一点是注意:这个更适合于WinForm工程使用,也是在我绘制虚线时查找资料提示最多的选项,但WPF类型显示是不能使用这个Pen类型的(System.Drawing)而是System.Windows.Media类型

  2.DrawingContext绘制,使用的是System.Windows.Media.Pen

    这种绘制一般都是Override OnRender方法时居多,我也是在这种场景下有个绘制虚线的需求,所以查了很多资料,先上代码

  var pen = new Pen { Brush = Brushes.DeepSkyBlue, Thickness = };
DashStyle dashStyle = new DashStyle();
dashStyle.Offset = ;
dashStyle.Dashes = new DoubleCollection();
dashStyle.Dashes.Add();
dashStyle.Dashes.Add();
pen.DashStyle = dashStyle;
dc.DrawGeometry(null, pen, geometry);

    上述Pen类型为System.Windows.Media.Pen类型下的Pen,其DashStyle是个类,不是个枚举类型了,所以不能直接设置,需要实例化DashStyle对象,然后进行赋值使用

    附:DashStyle元数据,属性信息

    

     踩过坑,有个记录。

    

C# Pen绘制虚线(System.Drawing.Pen与System.Windows.Media.Pen)的更多相关文章

  1. System.Drawing.Graphics.cs

    ylbtech-System.Drawing.Graphics.cs 1.程序集 System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKey ...

  2. .net学习笔记----利用System.Drawing.Image类进行图片相关操作

    C#中对图片的操作主要是通过System.Drawing.Image等类进行. 一.将图片转换为字节流 /// <summary> /// 图片处理帮助类 /// </summary ...

  3. 把System.Drawing.Image对象img,在页面的Image控件上显示出来

    1.保存到本地,然后调用. //定义文件名    string iname = DateTime.Now.ToString("yyMMddhhmmss"); //保存到服务器,b是 ...

  4. 转载(Asp.net Core 中试使用ZKWeb.System.Drawing)

    完美 原文Link: https://www.yanning.wang/archives/644.html 记录下做备份. 很少用Linux服务器. 这下可给整的够呛, 特别是按照官网竟然还不行, 所 ...

  5. .Net Core上用于代替System.Drawing的类库

    目前.Net Core上没有System.Drawing这个类库,想要在.Net Core上处理图片得另辟蹊径. 微软给出了将来取代System.Drawing的方案,偏向于使用一个单独的服务端进行各 ...

  6. mono+jexus 验证码不显示:System.Drawing

    System.ArgumentException The requested FontFamily could not be found [GDI+ status: FontFamilyNotFoun ...

  7. 类库探源——System.Drawing.Bitmap

    一.System.Drawing.Bitmap Bitmap 类: 封装GDI+ 位图,此位图由图形图像及其属性的像素数据组成.Bitmap 是用于处理由像素定义的图像的对象 命名空间: System ...

  8. 类库探源——System.Drawing

    一.System.Drawing 命名空间简述 System.Drawing 命名空间提供访问 GDI+ 的基本功能,更高级的功能在 System.Drawing.Drawing2D,System.D ...

  9. System.Drawing.Image.Save(Savepath),保存为jpg格式,参数错误,文件0kb解决办法

    问题场景:asp.net给图片添加文字水印保存为jpg格式时出现标题所描述错误(图片为.jpg格式): 简单验证:用本机的画图程序打开,然后保存为jpg格式会出现警告框"画图程序不能存储该文 ...

随机推荐

  1. pygame 方块随机飞舞动画

    import pygame import random # default WIDTH=1280 HEIGHT=1060 FPS=60 sum=0 # set color WHITE=(255,255 ...

  2. [USACO15JAN]Grass Cownoisseur

    \(tarjan\)缩点+\(DAG\)上最长路. 求一个以\(1\)为起点的最长路和一个以\(1\)为终点的最长路,然后找那个逆行边就行了. 然后这个我\(RE\)了好久,原因是\(vector\) ...

  3. knockout.js--基本用法

    1,HTML元素的面向对象的赋值,数据绑定 text绑定:为p,span,div,td等加text属性值(即元素内部显示的文本), value绑定:为input添加value属性值, attr绑定:为 ...

  4. Linux学习笔记记录(九)

  5. Volume 6. Mathematical Concepts and Methods

    138 - Street Numbers #include <stdio.h> //(2n+1)^2 - 8m^2 = 1,佩尔函数,或者打表 int main() { ; , xi = ...

  6. npm 使用教程

    链接----------------------------------npm官网npm淘宝镜像 安装包----------------------------------npm install -g ...

  7. python输出带颜色字体详解

    在python开发的过程中,经常会遇到需要打印各种信息.海量的信息堆砌在控制台中,就会导致信息都混在一起,降低了重要信息的可读性.这时候,如果能给重要的信息加上字体颜色,那么就会更加方便用户阅读了. ...

  8. Python进阶-打包程序为exe

    操作系统:win7 x64 运行环境:Python3.5 安装PyInstaller 第一步:下载PyInstaller https://github.com/pyinstaller/pyinstal ...

  9. PAT 1145 Hashing - Average Search Time

    The task of this problem is simple: insert a sequence of distinct positive integers into a hash tabl ...

  10. 2.8 补充:shell变量引用方式

    一 变量   变量:本质上是程序中保存用户数据的一块内存空间,变量名就是内存空间地址.   Shell中:变量可由字母数字和下划线组成,以字母或下划线开头.   命名:PATH=/sbin       ...