C# 如何根据直线的公式来画直线

问题描述

例如已知直线方程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)这样来画是吧

时间: 2024-09-20 22:23:03

C# 如何根据直线的公式来画直线的相关文章

Word中怎么画直线?Word中画直线的方法

1.我们测试一下调出"绘图"菜单:具体在菜单上的"视图"-"工具栏",找到"绘图"如下截图所示. 2.然后我们在word菜单栏上的工具栏中会看到有一个"绘图"菜单了. 3.如果我现在要绘制一条直线然后我们点击"绘制"栏一条线,按住不放,拖出一根直线: 4.好了这样就把直线做好了,如果我们要设置格式我们可以右击直线,然后在弹出菜单点击"设置自选图形格式"  5.在进入到

急需-画直线的代码在VC 环境下编写

问题描述 画直线的代码在VC 环境下编写 在VC c++环境下编写一个程序,画直线,求代码.希望快点,谢谢了 解决方案 MoveToEx( hdc, xSrc, ySrc, NULL); LineTo( hwd, xDst, yDst); 就是直线

Photoshop用直线工具画直线后怎样设置直线由淡到浓的渐变

  Photoshop用直线工具画直线后,设置直线由淡到浓的渐变的具体方法如下: 1.把它变成选区,填充渐变色,选前景色到渐变透明. 2.在直线上添加蒙版,用羽化喷枪把尾部喷淡,也可达到由淡到浓的渐变. 分类: PS入门教程

visio 怎么画直线

  方法1 (工具栏)连接线工具->画出连接线->(选中线)鼠标右键->直线连接线.   方法2   (菜单)视图->工具栏->绘图(选择绘图工具中的"线条工具")->画直线.      

java画直线被其他panel遮挡,寻求解决

问题描述 java画直线被其他panel遮挡,寻求解决 我在主panel上画直线,但是一部分直线被主panel上的子panel给遮住了,我把子panel设置成透明也不行,求解决方案,多谢 解决方案 把布局换成边界布局~~

1.1.2-学习Opencv与MFC混合编程之---画图工具 画直线 画圆 画矩形

源代码地址:http://download.csdn.net/detail/nuptboyzhb/3961685 画图工具 1.     画直线 Ø  增加'直线'菜单项,建立类向导: Ø  对CXXXXXXView类增加成员变量my_draw_flag.并在构造函数中初始化为0 Ø  在'直线'菜单项处理函数中,将my_draw_flag=1:表示画直线 Ø  增加window消息处理,WM_LBUTTONDOWN 和WM_MOUSEMOVE和WM_LBUTTONUP Ø  增加成员变量 在构

在 Format8bppIndexed 格式的 Bitmap 上画直线和圆 出错,求高手

问题描述 GraphicsobjGraphis;//若设置为PixelFormat.Format32bppArgb,可正常运行BitmapobjBitMap=newBitmap(400,300,PixelFormat.Format8bppIndexed);objGraphis=Graphics.FromImage(objBitMap);//在这行出错System.Drawing.Penpen=newSystem.Drawing.Pen(Brushes.Blue,1);//lineobjGraph

紧急求助, C#在平面直角坐标系中画直线和圆角的代码写法

问题描述 紧急求助,C#在平面直角坐标系中画直线和圆角的代码写法:主要实现功能如下:1,可以通过输入线段长度在直角坐标系中画任意直线:2可以通过输入半径在线段末端画出圆弧(也就是画出圆角):3,可以通过鼠标点击任意地方的两点生成一条直线.此功能在我开发项目中有用到,有点类似CAD中画图的简单功能,并且可以记录下操作步骤.以上恳请有这方面经验的大神帮忙,不胜感激. 解决方案 解决方案二:楼主去学习GDI或GDI+解决方案三:Paint事件中,根据定义好的图形对象以及它们的坐标,使用e.Graphi

Ext.net Sprite 画直线

问题描述 Sprite有很多种类型其中包含直线.矩形.圆形.文本但我画直线时就是不显示,矩形.文本.圆形都可以,网上也没有画直线的例子.是不是不能画直线. 解决方案