加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何在对象上画一条虚线?

发布时间:2020-12-15 06:24:07 所属栏目:百科 来源:网络整理
导读:我在 Windows窗体上绘制一条控件,如下所示: // Get Graphics object from chart Graphics graph = e.ChartGraphics.Graphics; PointF point1 = PointF.Empty; PointF point2 = PointF.Empty; // Set Maximum and minimum points point1.X = -110; point1.Y
我在 Windows窗体上绘制一条控件,如下所示:
// Get Graphics object from chart
            Graphics graph = e.ChartGraphics.Graphics;

            PointF point1 = PointF.Empty;
            PointF point2 = PointF.Empty;

            // Set Maximum and minimum points
            point1.X = -110;
            point1.Y = -110;
            point2.X = 122;
            point2.Y = 122;

            // Convert relative coordinates to absolute coordinates.
            point1 = e.ChartGraphics.GetAbsolutePoint(point1);
            point2 = e.ChartGraphics.GetAbsolutePoint(point2);

            // Draw connection line
            graph.DrawLine(new Pen(Color.Yellow,3),point1,point2);

我想知道是否可以画一条虚线(虚线)而不是一条常规的实线?

解决方法

一旦您定义了破折号的 figure out the formatting,这很简单:
float[] dashValues = { 5,2,15,4 };
Pen blackPen = new Pen(Color.Black,5);
blackPen.DashPattern = dashValues;
e.Graphics.DrawLine(blackPen,new Point(5,5),new Point(405,5));

浮点数组中的数字表示不同颜色的短划线长度.所以,对于一个2像素(黑色)的简单破折号,每个两个,你的aray将看起来像:{2,2}然后重复模式.如果您想要5幅宽度为2像素的虚线,则可以使用{5,2}

在你的代码中,它将如下所示:

// Get Graphics object from chart
Graphics graph = e.ChartGraphics.Graphics;

PointF point1 = PointF.Empty;
PointF point2 = PointF.Empty;

// Set Maximum and minimum points
point1.X = -110;
point1.Y = -110;
point2.X = 122;
point2.Y = 122;

// Convert relative coordinates to absolute coordinates.
point1 = e.ChartGraphics.GetAbsolutePoint(point1);
point2 = e.ChartGraphics.GetAbsolutePoint(point2);

// Draw (dashed) connection line
float[] dashValues = { 4,2 };
Pen dashPen= new Pen(Color.Yellow,3);
dashPen.DashPattern = dashValues;
graph.DrawLine(dashPen,point2);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读