当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > Kbuilder.cs GIVE ME K

ASP.NET
asp.net 禁用viewstate在web.config里
asp.net 虚方法、抽象方法、接口疑问
c# 操作符?? null coalescing operator
.net 反序题目的详细解答
implicitly convert type ''int'' to ''short''的原因与解决方法
比较完整的 asp.net 学习流程
官网 Ext direct包中.NET版的问题
C# XML操作 代码大全(读XML,写XML,更新,删除节点,与dataset结合等)
c# 连接字符串数据库服务器端口号 .net状态服务器端口号
ASP.NET 路径问题的解决方法
asp.net TemplateField模板中的Bind方法和Eval方法
asp.net Web.config 详细配置说明
asp.net 2个日期之间的整月数的算法
ASP.Net PlaceHolder、Panel等控件未实现INamingContainer,导致FindControl无效
Request.RawUrl 属性的应用收
.net 读取项目AssemblyInfo.cs属性值
asp.net URL 显示乱码 解决方法
asp.net 页面之间传递参数的几种方法
asp.net 一个封装比较完整的FTP类
C# FTP,GetResponse(),远程服务器返回错误

ASP.NET 中的 Kbuilder.cs GIVE ME K


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 201 ::
收藏到网摘: n/a


using System;using System.Collections;using System.Drawing;using System.Drawing.Imaging;
namespace Ktest{ /// /// Kbuilder 的摘要说明。 /// public class Kbuilder { private int bottomMarge=10; private int leftMarge=20; /// /// 默认宽度 /// private int m_width=640; /// /// 高度默认400像素 /// private int m_height=480; /// /// 默认显示30天数据 /// private int m_lineCount=30; /// /// 默认显示的最高价50元 /// private int m_maxPrice=50; /// /// 存放价格表 /// private ArrayList m_prices; public Kbuilder() { m_prices=new ArrayList(); } /// /// 宽度 /// public int Width { get { return m_width; } set { m_width=value; } } /// /// 高度 /// public int Height { get { return m_height; } set { m_height=value; } } /// /// 显示线数 /// public int LineCount { get { return m_lineCount; } set { m_lineCount=value; } } public int MaxPrice { get { return m_maxPrice; } set { m_maxPrice=value; } } /// /// 添加价格 /// ///

开盘价
///
最高价
///
最低价
///
收盘价
public void Add(double openPrice,double maxPrice,double minPrice,double closePrice) { Ktest.Price a=new Price(); a.Open=openPrice; a.Max=maxPrice; a.Min=minPrice; a.Close=closePrice; if (m_prices.Count>=m_lineCount) { m_prices.RemoveAt(0); } m_prices.Add(a); } /// /// 画图 /// /// public Bitmap GetImage() { Bitmap image = new Bitmap(m_width,m_height); Graphics g = Graphics.FromImage(image); Pen black1=new Pen(Color.Black,1); Pen black2=new Pen(Color.Black,2); Pen red=new Pen(Color.Red,1);
Point o=new Point(leftMarge,m_height-bottomMarge); Point y=new Point(leftMarge,0); Point x=new Point(m_width,m_height-bottomMarge); Font font=new Font("宋体",8); int hStep=(m_height-bottomMarge)/m_maxPrice; int wStep=(m_width-leftMarge)/m_lineCount;
g.Clear(Color.White); g.DrawLine(black2,y,o); g.DrawLine(black2,o,x); for(int i=1;i<=m_maxPrice;i++) { g.DrawString(i.ToString(),font,Brushes.Black,1,m_height-bottomMarge-hStep*i); } for(int i=1;i<=m_lineCount;i++) { g.DrawString(i.ToString(),font,Brushes.Black,wStep*i,m_height-bottomMarge+1); } g.Save(); int iCount=0; foreach(Price p in m_prices) { int x1,x2,x3,y1,y2,y3,y4; x1=leftMarge+iCount*wStep+3; x2=x1-3+(int)wStep/2; x3=(leftMarge+wStep*iCount++)-2; y1=m_height-bottomMarge-(int)p.Max*hStep; y4=m_height-bottomMarge-(int)p.Min*hStep; System.Drawing.Brush brush; Pen curPen; if (p.Positive) { curPen=red; brush=System.Drawing.Brushes.Red; y3=m_height-bottomMarge-(int)p.Open*hStep; y2=m_height-bottomMarge-(int)p.Close*hStep; } else { curPen=black1; brush=System.Drawing.Brushes.Black; y2=m_height-bottomMarge-(int)p.Open*hStep; y3=m_height-bottomMarge-(int)p.Close*hStep; } g.FillRectangle(brush,x1,y2,wStep-5,y3-y2); g.DrawLine(curPen,x2,y1,x2,y4); } return image; } }}