关于C#中画图的问题,用Graphics DrawLine 画基本的点再连到一起
需求:画点描线(直线连接)C#,web页面,需在后置代码中编写数据库中有包含100个数(固定格式)的字符串循环截取出字符串中的100个数为Y轴,和X轴1-100组成100...
需求:画点描线(直线连接)
C#,web页面,需在后置代码中编写
数据库中有包含100个数(固定格式)的字符串
循环截取出字符串中的100个数为Y轴,和X轴1-100组成100个点
把这100个点按顺序用直线连到一块
不要插件,就用最基本的画,求详细代码 展开
C#,web页面,需在后置代码中编写
数据库中有包含100个数(固定格式)的字符串
循环截取出字符串中的100个数为Y轴,和X轴1-100组成100个点
把这100个点按顺序用直线连到一块
不要插件,就用最基本的画,求详细代码 展开
1个回答
展开全部
用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);
}
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;
然后转换为数值
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询