如何在C#中从一端画到另一端?

时间:2016-07-19 14:05:57

标签: c#

如何从一端到另一端画一条线,如何控制它的长度和方向?

我一直在测试改变价值,但它给了我随机的结果,我不想猜,我想理解这个概念,所以我知道我在做什么。

这是我的代码。

 Pen blackPen = new Pen(Color.Black, 1);
 Point p1 = new Point(20, 30);
 Point p2 = new Point(10, 10);
 e.Graphics.DrawLine(blackPen,p1,p2);

如果您需要更多信息,请与我们联系。 谢谢。

enter image description here

已编辑:

对如此广泛的问题抱歉:

我已经使用了这段代码,这会从底部到屏幕画一条线,我想减少它向上的长度。请使用此代码。

图形以毫米为单位。

  Pen blackPen = new Pen(Color.Black, 1);
  Point p1 = new Point( 110, 80 );
  Point p2 = new Point(240 , 20 );

2 个答案:

答案 0 :(得分:1)

i=1连接空间中的两个点。

001

因此,如果您输入DrawLine,您将获得:

Screen coordinates [X,Y] 

[0,0] [1,0] [2,0] [3,0]
[0,1] [1,1] [2,1] [3,1]
[0,2] [1,2] [2,2] [3,2]
[0,3] [1,3] [2,3] [3,3]
[0,4] [1,4] [2,4] [3,4]

答案 1 :(得分:0)

X用于指定水平位置。 0是最左侧位置,最右侧位置取决于您的屏幕尺寸(分辨率)。如果您有某种窗口或画布,则同样适用。

Y用于指定垂直位置。 0是屏幕的最顶端位置,最底部的位置也取决于您的屏幕尺寸(分辨率)。

如果你有一个1920 x 1080像素的屏幕,这里有一些例子

这将从左上角到右下角绘制一条黑线

 e.Graphics.DrawLine(new Pen(Color.Black, 1),new Point(0,0), new Point(1919, 1079));

这将从顶部向下画十个像素的绿线。横跨您的屏幕。

 e.Graphics.DrawLine(new Pen(Color.Green, 1),new Point(0,10), new Point(1919, 10));

这会在屏幕中间水平画一条红线

 e.Graphics.DrawLine(new Pen(Color.Red, 1),new Point(0,540), new Point(1919, 540));

最后,这将在屏幕中间垂直绘制一条蓝线

 e.Graphics.DrawLine(new Pen(Color.Blue, 1),new Point(960,0), new Point(960, 1079));

有关您的其他问题

Pen blackPen = new Pen(Color.Black, 1);
Point p1 = new Point( 110, 80 );
Point p2 = new Point(240 , 20 );

你是从110,80到240,20。 所以你开始向下80像素并绘制到它上方60像素的点(20)。

更改

    Point p2 = new Point(240 , 20 );

    Point p2 = new Point(240 , 40 );

并看到右端向下移动。