- 浏览: 119563 次
- 性别:
- 来自: 北京
最新评论
-
NewTamato:
你的这个写的全都是代码,不知道对于flex和spring整合的 ...
Flex+BlazeDS+Spring的一个项目笔记(2) -
agurick:
laowood 写道在不写的一般情况下都是auto吧?自动变量 ...
C中的寄存器变量和引用变量 -
laowood:
agurick 写道补充一下,auto已经过时,已经不再使用。 ...
C中的寄存器变量和引用变量 -
agurick:
补充一下,auto已经过时,已经不再使用。static 变量就 ...
C中的寄存器变量和引用变量 -
ming:
oooooooo
domino如何在数据库中存储信息
翻出以前刚到公司自己做的这个,以前查资料作了半天,发现 现在 有些都忘了 ,贴在此处
PanelChart.class
using System; using System.IO;//用于文件存取 using System.Data;//用于数据访问 using System.Drawing;//提供画GDI+图形的基本功能 using System.Drawing.Text;//提供画GDI+图形的高级功能 using System.Drawing.Drawing2D;//提供画高级二维,矢量图形功能 using System.Drawing.Imaging;//提供画GDI+图形的高级功能 namespace Comm { public class PanelChart { public PanelChart() { } public Image draw(int width,int height, int max1,string title1,string subTitle1,int data1_1,string name1_1,int data1_2,string name1_2, int max2,string title2,string subTitle2,int data2_1,string name2_1,int data2_2,string name2_2, int max3,string title3,string subTitle3,int data3_1,string name3_1,int data3_2,string name3_2, int max4,string title4,string subTitle4,int data4_1,string name4_1,int data4_2,string name4_2) { DataSet ds=new DataSet(); DataTable dt1=new DataTable("myDT1"); dt1.Columns.Add("data",typeof(System.Int32)); dt1.Columns.Add("name",typeof(System.String)); dt1.Columns.Add("max",typeof(System.Int32)); dt1.Columns.Add("title",typeof(System.String)); dt1.Columns.Add("subTitle",typeof(System.String)); DataRow dr1_1=dt1.NewRow(); dr1_1[0]=data1_1; dr1_1[1]=name1_1; dr1_1[2]=max1; dr1_1[3]=title1; dr1_1[4]=subTitle1; DataRow dr1_2=dt1.NewRow(); dr1_2[0]=data1_2; dr1_2[1]=name1_2; dr1_2[2]=max1; dr1_2[3]=title1; dr1_2[4]=subTitle1; dt1.Rows.Add(dr1_1); dt1.Rows.Add(dr1_2); DataTable dt2=new DataTable("myDT2"); dt2.Columns.Add("data",typeof(System.Int32)); dt2.Columns.Add("name",typeof(System.String)); dt2.Columns.Add("max",typeof(System.Int32)); dt2.Columns.Add("title",typeof(System.String)); dt2.Columns.Add("subTitle",typeof(System.String)); DataRow dr2_1=dt2.NewRow(); dr2_1[0]=data2_1; dr2_1[1]=name2_1; dr2_1[2]=max2; dr2_1[3]=title2; dr2_1[4]=subTitle2; DataRow dr2_2=dt2.NewRow(); dr2_2[0]=data2_2; dr2_2[1]=name2_2; dr2_2[2]=max2; dr2_2[3]=title2; dr2_2[4]=subTitle2; dt2.Rows.Add(dr2_1); dt2.Rows.Add(dr2_2); DataTable dt3=new DataTable("myDT3"); dt3.Columns.Add("data",typeof(System.Int32)); dt3.Columns.Add("name",typeof(System.String)); dt3.Columns.Add("max",typeof(System.Int32)); dt3.Columns.Add("title",typeof(System.String)); dt3.Columns.Add("subTitle",typeof(System.String)); DataRow dr3_1=dt3.NewRow(); DataRow dr3_2=dt3.NewRow(); dr3_1[0]=data3_1; dr3_1[1]=name3_1; dr3_1[2]=max3; dr3_1[3]=title3; dr3_1[4]=subTitle3; dr3_2[0]=data3_2; dr3_2[1]=name3_2; dr3_2[2]=max3; dr3_2[3]=title3; dr3_2[4]=subTitle3; dt3.Rows.Add(dr3_1); dt3.Rows.Add(dr3_2); DataTable dt4=new DataTable("myDT4"); dt4.Columns.Add("data",typeof(System.Int32)); dt4.Columns.Add("name",typeof(System.String)); dt4.Columns.Add("max",typeof(System.Int32)); dt4.Columns.Add("title",typeof(System.String)); dt4.Columns.Add("subTitle",typeof(System.String)); DataRow dr4_1=dt4.NewRow(); DataRow dr4_2=dt4.NewRow(); dr4_1[0]=data4_1; dr4_1[1]=name4_1; dr4_1[2]=max4; dr4_1[3]=title4; dr4_1[4]=subTitle4; dr4_2[0]=data4_2; dr4_2[2]=max4; dr4_2[1]=name4_2; dr4_2[3]=title4; dr4_2[4]=subTitle4; dt4.Rows.Add(dr4_1); dt4.Rows.Add(dr4_2); ds.Tables.Add(dt1); ds.Tables.Add(dt2); ds.Tables.Add(dt3); ds.Tables.Add(dt4); return this.Render(width,height,ds,0); } public Image draw(int width,int height,DataSet chartData) { return this.Render(width,height,chartData,0); } public Image badRender(int width, int height) { const int SIDE_LENGTH = 400; Bitmap bm = new Bitmap(width,height); try { Graphics g = Graphics.FromImage(bm); g.ScaleTransform((Convert.ToSingle(width))/SIDE_LENGTH/4,(Convert.ToSingle(width/4))/SIDE_LENGTH); g.SmoothingMode = SmoothingMode.Default; g.TextRenderingHint = TextRenderingHint.AntiAlias; //设定画布和边 g.Clear(Color.LightGray); g.DrawString("",new Font("Tahoma",22,FontStyle.Bold),Brushes.Black,new PointF(10,5)); //g.DrawString("Sorry,Draw Back Ground Image Error,Please Message Admin!",new Font("Tahoma",22,FontStyle.Bold),Brushes.Black,new PointF(10,5)); g.Dispose(); return bm; } catch(Exception ex) { return bm; } } private Image Render(int width, int height,DataSet chartData,int dataLine) { const int SIDE_LENGTH = 400; const int CHART_TOP = 75; const int CHART_HEIGHT = 200; const int CHART_LEFT = 50; const int CHART_WIDTH = 300; //建立一个Graphics对象实例 Bitmap bm = new Bitmap(width,height); try { Graphics g = Graphics.FromImage(bm); //设置条图图形和文字属性 g.ScaleTransform((Convert.ToSingle(width))/SIDE_LENGTH/4,(Convert.ToSingle(width/4))/SIDE_LENGTH); g.SmoothingMode = SmoothingMode.Default; g.TextRenderingHint = TextRenderingHint.AntiAlias; //设定画布和边 g.Clear(Color.White); for(int k=0;k<4;k++) { DataTable dt = chartData.Tables[k]; float highPoint = float.Parse(dt.Rows[0][2].ToString()); g.DrawRectangle(Pens.Black,(SIDE_LENGTH*k),0,SIDE_LENGTH-20,SIDE_LENGTH-1); g.FillRectangle(new SolidBrush(ChartUtil.GetChartItemColor(7)),(SIDE_LENGTH*k)+2,0+1,SIDE_LENGTH-20-4,SIDE_LENGTH-1-4); //画大标题 g.DrawString(dt.Rows[0][3].ToString(),new Font("Tahoma",16,FontStyle.Bold),Brushes.Black,new PointF(5+(k*SIDE_LENGTH),5)); //画小标题 g.DrawString(dt.Rows[0][4].ToString(),new Font("Tahoma",12),Brushes.Black,new PointF(7+(k*SIDE_LENGTH),35)); //画虚线 for(int bl=4;bl>0;bl--) { if(highPoint>=99) { g.DrawString(""+(int)(highPoint/5)*(5-bl),new Font("Tahoma",9),Brushes.Black,new PointF(CHART_LEFT+(k*SIDE_LENGTH)-25,(CHART_HEIGHT/5)*bl+CHART_TOP-7)); } else { g.DrawString(""+(highPoint/5)*(5-bl),new Font("Tahoma",9),Brushes.Black,new PointF(CHART_LEFT+(k*SIDE_LENGTH)-25,(CHART_HEIGHT/5)*bl+CHART_TOP-7)); } for(int e=CHART_LEFT+(k*SIDE_LENGTH);e<CHART_LEFT+(k*SIDE_LENGTH) + CHART_WIDTH;e=e+20) { g.DrawLine(new Pen(Color.Black,1),new Point(e,(CHART_HEIGHT/5)*bl+CHART_TOP),new Point(e+10,(CHART_HEIGHT/5)*bl+CHART_TOP)); } } //画条形图 float barWidth = CHART_WIDTH / (dt.Rows.Count * 2); PointF barOrigin = new PointF(CHART_LEFT + (barWidth / 2),0); float barHeight = dt.Rows.Count; for(int i=0;i<dt.Rows.Count;i++) { barHeight = Convert.ToSingle(dt.Rows[i][0]) * 200 / highPoint * 1; barOrigin.Y = CHART_TOP + CHART_HEIGHT - barHeight; g.FillRectangle(new SolidBrush(ChartUtil.GetChartItemColor(i)),barOrigin.X+(k*SIDE_LENGTH),barOrigin.Y,barWidth-40,barHeight); barOrigin.X = barOrigin.X + (barWidth * 2)-50; } //设置边 g.DrawLine(new Pen(Color.Black,2),new Point(CHART_LEFT+(k*SIDE_LENGTH),CHART_TOP),new Point(CHART_LEFT+(k*SIDE_LENGTH),CHART_TOP + CHART_HEIGHT)); g.DrawLine(new Pen(Color.Black,2),new Point(CHART_LEFT+(k*SIDE_LENGTH),CHART_TOP + CHART_HEIGHT),new Point(CHART_LEFT+(k*SIDE_LENGTH) + CHART_WIDTH,CHART_TOP + CHART_HEIGHT)); //画图例框和文字 g.DrawString("图表说明",new Font("Tahoma",14,FontStyle.Bold),Brushes.Black,new PointF(200+(k*SIDE_LENGTH),300)); //画图例 PointF boxOrigin = new PointF(210+(k*SIDE_LENGTH),330); PointF textOrigin = new PointF(235+(k*SIDE_LENGTH),326); for(int i=0;i<dt.Rows.Count;i++) { g.FillRectangle(new SolidBrush(ChartUtil.GetChartItemColor(i)),boxOrigin.X,boxOrigin.Y,20,10); g.DrawRectangle(Pens.Black,boxOrigin.X,boxOrigin.Y,20,10); g.DrawString(dt.Rows[i][1].ToString() + " - " + dt.Rows[i][0].ToString(),new Font("Tahoma",10),Brushes.Black,textOrigin); boxOrigin.Y += 15; textOrigin.Y += 15; } //输出图形 PointF textOrigin1=new PointF(50+(k*SIDE_LENGTH),70); g.DrawString("MAX - "+highPoint,new Font("Tahoma",12),Brushes.Black,textOrigin1); } g.Dispose(); return bm; } catch { return this.badRender(width,height); } } } }
发表评论
-
redhat 安装 oracle
2013-01-23 12:02 1054装完RHEL5之后遇到的 第一个问题 通过SSH ... -
fedora 14上安装 Oracle 11g
2011-03-31 12:48 4053本文介绍了在Fedora 14 64-bit上安装Or ... -
Flex+BlazeDS+Spring的一个项目笔记(2)
2009-07-30 08:26 3130applicationContext.xml 配置如下 ... -
Flex+BlazeDS+Spring的一个项目笔记(1)
2009-07-29 23:43 1647把最近在做的一个项目的研究成果贴出来做个笔记。项目是要做一个本 ... -
SQL能完成的逻辑都在SQL中
2009-07-21 19:16 1039decode, case的用法 select t.star ... -
Promises don't come easy
2009-05-11 13:48 1131I should have known all along ... -
oracle 9*9乘法口诀表
2009-04-14 18:19 1961select replace(reverse(sys_conn ... -
oracle笔记1
2009-03-31 22:52 1466conn / as sysdba -切换到sys用户 sele ... -
C中的寄存器变量和引用变量
2009-03-25 19:11 5612总共有auto,static,register,extern。 ... -
shell 初步
2009-03-15 18:24 3572ps -ef | grep redis du -sh 查看文件 ... -
File ToBase64String
2009-02-03 15:00 1214public static string Serializ ... -
David Cook - Always Be My Baby
2008-11-05 18:28 1335Studio Version Song ... -
企业应用中C\S是怎样的架构?
2008-10-31 10:19 3975我们公司开发程序一般是 C# Winform 做客户端,EJB ... -
Can’t find P/Invoke DLL sqlcemeNN.dll
2008-09-01 11:30 2388Can’t find P/Invoke DLL sqlceme ... -
JavaScript replace() 方法
2008-08-27 13:43 2259定义和用法 replace() 方法用于在字符串中 ... -
C# 写Excel 代码
2008-08-20 12:48 10882C# 中使用 Excel using System;usin ... -
开发基于Domino/Notes的动态Web网站
2007-09-27 08:08 1487开发基于Domino/Notes的动态Web网站 用户的需求 ... -
[精华]Linux记事本最常用的命令,迅速掌握Linux
2008-06-28 09:51 4369自己整理的笔记,,适合linux初学者,老手就不要看了,呵呵 ... -
Java移动文件
2008-06-14 19:50 34486一: //文件原地址 File oldFile = ne ... -
大道至简-java之23种模式一点就通
2008-06-12 10:23 1580一、创建型模式 FACTORY ...
相关推荐
C#画图板包含直线、曲线、矩形等,还可以选择线条颜色。
C#画图教程ppt
c#画图源码,可以实现画图的基本功能,有新的想法可以放松邮件到decil_cpp@163.com
ZedGraph是用于创建任意数据的二维线型、条型、饼型图表的一个类库,也可以作为Windows窗体用户控件和ASP网页控件(这里有个web- accessible 不知道该怎么翻译)。这个类库具有高度的适应性,几乎所有式样的图表都...
画图教程画图教程画图教程画图教程画图教程画图教程画图教程画图教程画图教程画图教程画图教程画图教程画图教程画图教程画图教程画图教程画图教程画图教程画图教程
最新的c#画图工具实现,功能描述如下:铅笔,刷子,直线,填充,矩形,圆形。 可改变线宽以及线条的颜色。使用该程序的时候记得一定要点新建,不然没法运行。可保存多个格式。随便做个任务就能下载哟,希望能对大家...
**程序有无问题很难说** 开发软件:Rider 需要:.Net FrameWork 4.8、网络 效果:https://link2points.blog.csdn.net/article/details/115840463
C#编写的画图板程序,能实现画刷、画笔,以及直线方形和椭圆等功能,还有文件菜单栏的相关功能
c#画图c#画图c#画图c#画图c#画图c#画图c#画图c#画图c#画图c#画图c#画图c#画图c#画图c#画图c#画图c#画图c#画图c#画图c#画图c#画图c#画图c#画图
C# 画图板 源代码
c#写的画图小程序,可以作为课程设计,为设计自己的画图画图程序作参考
c# 画图板 画直线 画矩形 画椭圆 等等
根据老师的作业要求自己写的,一个C#画图程序。运用了面向对象的思想,继承和多态。
c#画图,c#画图事例,c#画图,c#画图事例加源码
C#画图板程序源码
c# 画图 橡皮线,采用ControlPaint.DrawReversibleFrame实现橡皮线效果
画图完毕后可以保存。打开方式自动注册为该应用程序打开;重新打开后仍然可以编辑之前的线圆等.....;
C# 画图 可实现调色板 铅笔 圆形 矩形 保存 等基本画图功能
这是一个简单的C#画图程序
C#画图例子winform,三个