问题描述
例如已知直线方程y=kx+b斜率和b都是知道的,如何利用方程来画直线,求大手写出代码供参考或解答思路,感谢。
解决方案
解决方案二:
C#画不了直线,只能画线段所以你到底想从哪个x坐标画到哪个,x确定了,y不就确定了么,确定了2点,就可以drawline了
解决方案三:
你可以取x的坐标为0和screen.width出了屏幕范围,反正也看不到,就当是直线了
解决方案四:
解决方案五:
或者判断一下,如果x为0,y<0,则取y=0,计算x如果x是屏幕宽度,y>屏幕高度,则取y=屏幕高度,计算x最后算得的2点都不超出屏幕范围
解决方案六:
引用4楼Z65443344的回复:
或者判断一下,如果x为0,y<0,则取y=0,计算x如果x是屏幕宽度,y>屏幕高度,则取y=屏幕高度,计算x最后算得的2点都不超出屏幕范围
我就是想知道,用方程来画线可不可以额,
解决方案七:
首先,建立一块画布或者控件,用于建立一个坐标系。一切都是相对的。有了坐标系这把尺子,就可以画任何有位置信息的feature了。
解决方案八:
引用5楼c994101138的回复:
Quote: 引用4楼Z65443344的回复:
或者判断一下,如果x为0,y<0,则取y=0,计算x如果x是屏幕宽度,y>屏幕高度,则取y=屏幕高度,计算x最后算得的2点都不超出屏幕范围我就是想知道,用方程来画线可不可以额,
答案是不可以.你需要先用方程来计算出2个点的坐标,然后画线.
解决方案九:
主要是算直线与控件边界的两个焦点:简单情况,把直线坐标系设置为控件坐标系即以控件左上角为原点,x轴向左为正,y轴向下为正控件范围:xmin=0,xmax=size.x,ymin=0ymax=size.y如果b在0和ymax之间,则可以确定第一个交点(0,b)若b<0;则看直线与控件上界y=0的交点,x=-b/k如果这个在0和xmax之间,则可以确定第一个交点(-b/k,0)若b>ymax,则看直线与控件下界y=ymax的交点。。。。。。。。。。如果第一个点不存在,说明直线不经过控件,不用画了同理找到第二个点this.Paint+=newPaintEventHandler((obj,pe)=>{Graphicsg=this.CreateGraphics();g.DrawLine(newPen(Color.Red,2),1,1,500,500);});this.label1.Paint+=newPaintEventHandler((obj,pe)=>{Graphicsg=this.label1.CreateGraphics();g.DrawLine(newPen(Color.Black,1),newPoint(1,1),newPoint(5,5));});
上面是画图的代码
解决方案十:
引用7楼Z65443344的回复:
Quote: 引用5楼c994101138的回复:
Quote: 引用4楼Z65443344的回复:
或者判断一下,如果x为0,y<0,则取y=0,计算x如果x是屏幕宽度,y>屏幕高度,则取y=屏幕高度,计算x最后算得的2点都不超出屏幕范围我就是想知道,用方程来画线可不可以额,
答案是不可以.你需要先用方程来计算出2个点的坐标,然后画线.
啊,哦,只能通过直线方程来找点,然后用g.drawline(pen,x,y,x1,y1)这样来画是吧