关于C#中画图的问题,用Graphics DrawLine 画基本的点再连到一起

需求:画点描线(直线连接)C#,web页面,需在后置代码中编写数据库中有包含100个数(固定格式)的字符串循环截取出字符串中的100个数为Y轴,和X轴1-100组成100... 需求:画点描线(直线连接)

  C#,web页面,需在后置代码中编写

  数据库中有包含100个数(固定格式)的字符串

  循环截取出字符串中的100个数为Y轴,和X轴1-100组成100个点

  把这100个点按顺序用直线连到一块

不要插件,就用最基本的画,求详细代码
展开
 我来答
百度网友7332b13a9
推荐于2017-09-16 · TA获得超过132个赞
知道小有建树答主
回答量:155
采纳率:100%
帮助的人:133万
展开全部
用DrawLine 比较麻烦 建议你用DrawPath 大致思路如下 你应该懂的
private void button1_Click(object sender, EventArgs e)
{
string sCol="ColumnName"; //// 列名
PointF[] pPoints = new PointF[100];
byte[] bs = new byte[100];
DataTable dt = new DataTable();
// 把数据从数据库取出来放到Datatable
。。。 过程略
int i = 0;
foreach (DataRow dr in dt)
{
double dValue = (double)dr[sCol];
PointF pPoint = new PointF(dValue, dValue);
bs[i] = (byte)PathPointType.Line;
pPoints[i] = pPoint;
i++;
if (i > 99)
break;
}
Graphics pGraphics = this.CreateGraphics();
GraphicsPath pGPth = new GraphicsPath(pPoints, bs);
Pen pPen = new Pen(Color.Red);
pPen.Width = 3;
pGraphics.DrawPath(pPen, pGPth);
}
更多追问追答
追问
那一百个数是在一个字符串中,全是两位数(10-99之间的100个数)
追答
这个很好解决啊 string sCorodinates=dr[0].ToString();
string[] sCorArray=sCorodinates.Split(','); // 如果是用逗号隔开的
// 不是的就截取
int i=0;
string sCor=sCorodinates.SubString(i,2);
i=i+2;

然后转换为数值
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式