如何从一端到另一端画一条线,如何控制它的长度和方向?
我一直在测试改变价值,但它给了我随机的结果,我不想猜,我想理解这个概念,所以我知道我在做什么。
这是我的代码。
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);
如果您需要更多信息,请与我们联系。 谢谢。
已编辑:
对如此广泛的问题抱歉:
我已经使用了这段代码,这会从底部到屏幕画一条线,我想减少它向上的长度。请使用此代码。
图形以毫米为单位。
Pen blackPen = new Pen(Color.Black, 1);
Point p1 = new Point( 110, 80 );
Point p2 = new Point(240 , 20 );
答案 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 );
并看到右端向下移动。