c# GDI画曲线
楼主你好,我也想用c#画曲线图但是我是刚入门的,不太懂,请求指点,我创建的WindowsForm,想从txt文件中读取数据,然后再在WindowsForm中画出曲线图,一...
楼主你好, 我也想用c#画曲线图 但是我是刚入门的,不太懂,请求指点,我创建的Windows Form,想从txt文件中读取数据,然后再在Windows Form中画出曲线图,一个界面一个坐标下同时画三条曲面图
求指点……大谢…… 展开
求指点……大谢…… 展开
1个回答
展开全部
在Paint事件处理函数加入如下
StreamWriter sw=new StreamWriter("txt文件名");
string sdata=sw.ReadToEnd();
sw.Close();
//数据处理过程,由于曲线要有三个要数,1。坐标,二。宽 高,三两射线角度所以你的数据//也要符合
//比如:
int locationX=50;//这是坐标x
int locationY=50;//这是坐标Y
int w1=60;//这是宽
int h1=60;//这是高
int sangle=0;//第一射线角度,值为0--360;
int eangle=60;//第二条射线相对于第一条角度
int w2=60;//这是宽
int h2=60;//这是高
int sangle2=60;//第一射线角度,值为0--360;
int eangle2=90;//第二条相对于第一条射线角度
int w3=60;//这是宽
int h3=60;//这是高
int sangle3=150;//第一射线角度,值为0--360;
int eangle3=210;//第二条射线相对于第一条角度
Graphics g=e.Graphics;
Pen p1=new Pen(Color.Red,1);//数字1为曲线宽度,这是笔划
Pen p2=new Pen(Color.Green,1);
Pen p3=new Pen(Color.Blue,1);
//曲线
g.DrawArc(p1,locationX,locationY,w1,h1,sangle,eangle);
g.DrawArc(p2,locationX,locationY,w2,h2,sangle2,eangle2);
g.DrawArc(p3,locationX,locationY,w3,h3,sangle3,eangle3);
//扇形
g.TranslateTransform(100,0);
Brush b1=new SolidBrush(Color.Red);
Brush b2=new SolidBrush(Color.Green);
Brush b3=new SolidBrush(Color.Blue);
g.FillPie(b1,locationX,locationY,w1,h1,sangle,eangle);
g.FillPie(b2,locationX,locationY,w2,h2,sangle2,eangle2);
g.FillPie(b3,locationX,locationY,w3,h3,sangle3,eangle3);
//空心扇形
g.TranslateTransform(100,0);
g.DrawPie(p1,locationX,locationY,w1,h1,sangle,eangle);
g.DrawPie(p2,locationX,locationY,w2,h2,sangle2,eangle2);
g.DrawPie(p3,locationX,locationY,w3,h3,sangle3,eangle3);
如图
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询