文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>使用GDI画坐标曲线

使用GDI画坐标曲线

时间:2010-09-28  来源:whinsh

代码
//画速度曲线
Graphics g = e.Graphics;
g.DrawLine(Pens.White,
40, picChart.ClientRectangle.Height - 10, picChart.Width - 40, picChart.ClientRectangle.Height - 10);
g.DrawLine(Pens.White,
40, picChart.ClientRectangle.Height - 50, picChart.Width - 40, picChart.ClientRectangle.Height - 50);
g.DrawLine(Pens.White,
40, picChart.ClientRectangle.Height - 90, picChart.Width - 40, picChart.ClientRectangle.Height - 90);
g.DrawLine(Pens.White,
40, picChart.ClientRectangle.Height - 130, picChart.Width - 40, picChart.ClientRectangle.Height - 130);

Pen p
= new Pen(Color.White, 1);
//p.EndCap = System.Drawing.Drawing2D.LineCap.ArrowAnchor;
//p.DashCap = System.Drawing.Drawing2D.DashCap.Flat;
AdjustableArrowCap aac = new AdjustableArrowCap(5, 5, false);//箭头的大小可以自己随便定义
p.CustomEndCap = aac;
g.DrawLine(p,
40, picChart.ClientRectangle.Height, 40, 4);
g.DrawLine(p, picChart.Width
- 40, picChart.ClientRectangle.Height, picChart.Width - 40, 4);
p.Dispose();

Font f
= new Font("Arial", 9);
//画线上箭头文字
int stepY = (picChart.Height - 150) / 13;
int curH = 0;
StringFormat sf
= new StringFormat();
sf.Alignment
= StringAlignment.Far;
int du = 0;
for (int i = 0; i < 13; i++)
{
bool jo = i % 2 == 0;
int w = jo ? 10 : 5;
g.DrawLine(Pens.White,
40 - w, picChart.ClientRectangle.Height - 130 - curH, 40, picChart.ClientRectangle.Height - 130 - curH);
g.DrawLine(Pens.White, picChart.Width
- 40, picChart.ClientRectangle.Height - 130 - curH, picChart.Width - (40 - w), picChart.ClientRectangle.Height - 130 - curH);

if (jo)
{
//如果是偶数
g.DrawString(du.ToString(), f, new SolidBrush(Color.White), 30, picChart.ClientRectangle.Height - 137 - curH, sf);
g.DrawString(du.ToString(), f,
new SolidBrush(Color.White), picChart.Width - 30, picChart.ClientRectangle.Height - 137 - curH);

du
+= 40;
}

curH
+= stepY;
}


g.DrawString(
"道桥隧", f, new SolidBrush(Color.White), 0, picChart.ClientRectangle.Height - 30);
g.DrawString(
"曲 线", f, new SolidBrush(Color.White), 0, picChart.ClientRectangle.Height - 70);
g.DrawString(
"纵断面", f, new SolidBrush(Color.White), 0, picChart.ClientRectangle.Height - 110);
f.Dispose();

 

在winform程序中,只要了解了那几个类,使用GDI画图是相当方便的
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载