很久以前做的,是我做的第一个比较象样的东西了,不过那时候代码写的比较乱了。
具体实现的细节也不大记得了,
1,在表中记录了外汇的品种名和值,
2.曲线用十字相乘法来计算位置,比如说我们要画的图的高为50,宽为200,我们按比例算出相应值在图中的位置,然后把各个点连线.
效果图:
具体代码如下:
private void draw(string pzName)
{
//|||||||||||||||||||||||||创建位图|||||||||||||||||||||||
Bitmap objBitMap = new Bitmap(602, 302);
Graphics g;
g = Graphics.FromImage(objBitMap);
//清除整个绘图面
g.Clear(Color.White);
//||||||||||||||||||||||||||||||||||||||||画表格||||||||||||||||||||||||||||||
//画背景色
SolidBrush backColor=new SolidBrush(Color.WhiteSmoke);
g.FillRectangle(backColor,0,0,600,300);
//画表格上面的色
SolidBrush blueBrush = new SolidBrush(Color.Gainsboro);
g.FillRectangle(blueBrush,1,0,600,20);
//画表格底部色
g.FillRectangle(blueBrush,1,280,600,20);
//画外边框色
Pen LinePen=new Pen(Color.Black);
g.DrawRectangle(LinePen,0,0,600,300);
//画里面边框
Pen RecPen=new Pen(Color.Green,2);
g.DrawRectangle(RecPen,5,20,550,242);
//填充内容边框
SolidBrush bColor=new SolidBrush(Color.White);
g.FillRectangle(bColor,5,20,550,242);
//||||||||||||||||||||||||||||||||画虚线||||||||||||||||||||||||||||||||||||
//建立一只1象素宽、呈粉红色且半透明的画笔
Pen penExample = new Pen(Color.Silver, 1);
//使画笔画出虚线
penExample.DashStyle = DashStyle.Dash;
//将画笔开始和结束处都设置为圆形
penExample.StartCap = LineCap.Round;
penExample.EndCap = LineCap.Round;
//在背景上画横线
for(int i=20;i<=380;i++)
{
Point starPoint=new Point(10,i);
Point endPoint=new Point(550,i);
g.DrawLine(penExam