新手求教,求大神注释下面代码,最好每行都标注下,给跪了,在线等

问题描述

///<summary>///根据货物所占百分比画饼图///</summary>///<paramname="objgraphics">Graphics类对象</param>///<paramname="M_str_sqlstr">SQL语句</param>///<paramname="M_str_table">表名</param>///<paramname="M_str_Num">数据表中货物数</param>///<paramname="M_str_tbGName">数据表中货物名称</param>///<paramname="M_str_title">饼图标题</param>publicvoiddrawPic(Graphicsobjgraphics,stringM_str_sqlstr,stringM_str_table,stringM_str_Num,stringM_str_tbGName,stringM_str_title){DataSetmyds=datacon.getds(M_str_sqlstr,M_str_table);floatM_flt_total=0.0f,M_flt_tmp;intM_int_iloop;for(M_int_iloop=0;M_int_iloop<myds.Tables[0].Rows.Count;M_int_iloop++){M_flt_tmp=Convert.ToSingle(myds.Tables[0].Rows[M_int_iloop][M_str_Num]);M_flt_total+=M_flt_tmp;}Fontfontlegend=newFont("verdana",9),fonttitle=newFont("verdana",10,FontStyle.Bold);//设置字体intM_int_width=275;//白色背景宽constintMc_int_bufferspace=15;intM_int_legendheight=fontlegend.Height*(myds.Tables[0].Rows.Count+1)+Mc_int_bufferspace;intM_int_titleheight=fonttitle.Height+Mc_int_bufferspace;intM_int_height=M_int_width+M_int_legendheight+M_int_titleheight+Mc_int_bufferspace;//白色背景高intM_int_pieheight=M_int_width;Rectanglepierect=newRectangle(0,M_int_titleheight,M_int_width,M_int_pieheight);//加上各种随机色Bitmapobjbitmap=newBitmap(M_int_width,M_int_height);//创建一个bitmap实例objgraphics=Graphics.FromImage(objbitmap);ArrayListcolors=newArrayList();Randomrnd=newRandom();for(M_int_iloop=0;M_int_iloop<myds.Tables[0].Rows.Count;M_int_iloop++)colors.Add(newSolidBrush(Color.FromArgb(rnd.Next(255),rnd.Next(255),rnd.Next(255))));objgraphics.FillRectangle(newSolidBrush(Color.White),0,0,M_int_width,M_int_height);//画一个白色背景objgraphics.FillRectangle(newSolidBrush(Color.LightYellow),pierect);//画一个亮黄色背景//以下为画饼图(有几行row画几个)floatM_flt_currentdegree=0.0f;for(M_int_iloop=0;M_int_iloop<myds.Tables[0].Rows.Count;M_int_iloop++){objgraphics.FillPie((SolidBrush)colors[M_int_iloop],pierect,M_flt_currentdegree,Convert.ToSingle(myds.Tables[0].Rows[M_int_iloop][M_str_Num])/M_flt_total*360);M_flt_currentdegree+=Convert.ToSingle(myds.Tables[0].Rows[M_int_iloop][M_str_Num])/M_flt_total*360;}//以下为生成主标题SolidBrushblackbrush=newSolidBrush(Color.Black);StringFormatstringFormat=newStringFormat();stringFormat.Alignment=StringAlignment.Center;stringFormat.LineAlignment=StringAlignment.Center;objgraphics.DrawString(M_str_title,fonttitle,blackbrush,newRectangle(0,0,M_int_width,M_int_titleheight),stringFormat);objgraphics.DrawRectangle(newPen(Color.Black,2),0,M_int_height-M_int_legendheight,M_int_width,M_int_legendheight);for(M_int_iloop=0;M_int_iloop<myds.Tables[0].Rows.Count;M_int_iloop++){objgraphics.FillRectangle((SolidBrush)colors[M_int_iloop],5,M_int_height-M_int_legendheight+fontlegend.Height*M_int_iloop+5,10,10);objgraphics.DrawString(((String)myds.Tables[0].Rows[M_int_iloop][M_str_tbGName])+"——"+Convert.ToString(Convert.ToSingle(myds.Tables[0].Rows[M_int_iloop][M_str_Num])*100/M_flt_total)+"%",fontlegend,blackbrush,20,M_int_height-M_int_legendheight+fontlegend.Height*M_int_iloop+1);}objgraphics.DrawString("总货物数是:"+Convert.ToString(M_flt_total),fontlegend,blackbrush,5,M_int_height-fontlegend.Height);stringP_str_imagePath=Application.StartupPath.Substring(0,Application.StartupPath.Substring(0,Application.StartupPath.LastIndexOf("\")).LastIndexOf("\"));P_str_imagePath+=@"Imageimage"+DateTime.Now.ToString("yyyyMMddhhmss")+".jpg";objbitmap.Save(P_str_imagePath,ImageFormat.Jpeg);objgraphics.Dispose();objbitmap.Dispose();}

解决方案

解决方案二:
DataSetmyds=datacon.getds(M_str_sqlstr,M_str_table);//返回数据集floatM_flt_total=0.0f,M_flt_tmp;//声明float类型变量,并对M_flt_total初始化为0intM_int_iloop;//声明int变量//遍历数据集合myds的第一个表的数据行for(M_int_iloop=0;M_int_iloop<myds.Tables[0].Rows.Count;M_int_iloop++){M_flt_tmp=Convert.ToSingle(myds.Tables[0].Rows[M_int_iloop][M_str_Num]);//把列值转换成Single值M_flt_total+=M_flt_tmp;//M_flt_total记录该列的合计}

解决方案三:
Fontfontlegend=newFont("verdana",9),fonttitle=newFont("verdana",10,FontStyle.Bold);//设置字体intM_int_width=275;//白色背景宽constintMc_int_bufferspace=15;//声明int常量intM_int_legendheight=fontlegend.Height*(myds.Tables[0].Rows.Count+1)+Mc_int_bufferspace;intM_int_titleheight=fonttitle.Height+Mc_int_bufferspace;intM_int_height=M_int_width+M_int_legendheight+M_int_titleheight+Mc_int_bufferspace;//白色背景高intM_int_pieheight=M_int_width;Rectanglepierect=newRectangle(0,M_int_titleheight,M_int_width,M_int_pieheight);//声明并实例化矩形

解决方案四:
//加上各种随机色Bitmapobjbitmap=newBitmap(M_int_width,M_int_height);//创建一个bitmap实例objgraphics=Graphics.FromImage(objbitmap);//通过图片创建Graphics对象ArrayListcolors=newArrayList();//声明并实例化数组Randomrnd=newRandom();//声明并实例化随机数产生器//变量数据集第一个表,添加画刷for(M_int_iloop=0;M_int_iloop<myds.Tables[0].Rows.Count;M_int_iloop++)colors.Add(newSolidBrush(Color.FromArgb(rnd.Next(255),rnd.Next(255),rnd.Next(255))));objgraphics.FillRectangle(newSolidBrush(Color.White),0,0,M_int_width,M_int_height);//画一个白色背景objgraphics.FillRectangle(newSolidBrush(Color.LightYellow),pierect);//画一个亮黄色背景

时间: 2024-12-26 23:34:41

新手求教,求大神注释下面代码,最好每行都标注下,给跪了,在线等的相关文章

printf-c语言的一道题 动态规划 新手,求大神看看我代码的问题

问题描述 c语言的一道题 动态规划 新手,求大神看看我代码的问题 描述 7 3 8 8 1 0 2 7 4 4 4 5 6 2 5 (图1) 图1显示了一个三角形数. 编写一个程序,计算最高金额的数字传递路线,从顶部开始和结束的地方固定在底座上. 每一步可以走斜向下向左或向右斜下. 输入 程序从标准输入读取. 第一行包含一个整数N:三角形的行数. 以下N行描述三角形的数据. 在三角形的行数> 1但< = 100. 三角形的数量,所有的整数,在0到99之间. 输出 你的程序是编写到标准输出. 最

excel-asp.net mvc4如何实现页面数据导出到Excel表,有完整代码吗?本人新手,求大神

问题描述 asp.net mvc4如何实现页面数据导出到Excel表,有完整代码吗?本人新手,求大神 如题,asp.net mvc4如何实现页面数据导出到Excel表,有完整代码吗?本人新手,求大神 解决方案 最简单的方式是使用npoihttp://www.tuicool.com/articles/NNzMNn 解决方案二: 你可以采用OLEDB的方式进行导出,也就是采用数据库的方式,你可以在服务器上面配置一个tmp目录,先将数据文件采用OLEDB导出到这个文件中, 在通过文件下载的方式获取这个

net-asp.NET 简单生成条形码问题 小弟新手,求大神解答,在线等

问题描述 asp.NET 简单生成条形码问题 小弟新手,求大神解答,在线等 zxing.dll插件已经添加引用,还是一堆错误,以下代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using ZXing.Common; using ZXing; using ZXi

java新手,求大神解决问题

问题描述 java新手,求大神解决问题 .需求:有一个电子销售系统需要打印顾客所购买的商品的发票(Invoice),一张发票可以分成三个部分: ? 发票头部(Header):上面有顾客的名字,销售的日期. ? 发票主部:销售的货物清单,包括商品的名字(Item).购买的数量(Units).单价(Unit Price).小计(Sub Total): ? 发票的尾部(Footer):商品的总金额(Total): 下面是打印出的发票的大致的样子: ********************** INVO

java-Java 新手问题 求大神帮帮忙

问题描述 Java 新手问题 求大神帮帮忙 大家好,我最近刚刚开始学习编程.?今天有个作业是让我们做一个类似于超速罚单的程序.?但是我怎么都显示不出来罚单. /** ?*?Lab3b?for?secction?3 ?*? ?*?@author?(Castiel) ?*?@version?(01-10-2015) ?*/ public?class?Driver { ????//?instance?variables?-?replace?the?example?below?with?your?own

求大神给该段代码详细注解(MFC 俄罗斯方块)

问题描述 求大神给该段代码详细注解(MFC 俄罗斯方块) // TetrisDlg.cpp : 实现文件 // #include "stdafx.h" #include "myself.h" #include "Tetris.h" #include "TetrisDlg.h" #include #include // #include // #include //导入声音头文件 // #pragma comment(lib,&

android java 回调-关于android中的回调机制 求大神帮忙看看代码

问题描述 关于android中的回调机制 求大神帮忙看看代码 boss 叫我写一个sdk 然后里面得实现回调 还给了我个demo 说回调机制和这个demo 一样 大概就是从A客户端发出一个数据 然后我这边接受 接受和执行一个事件 然后再回调给C public class DemoActivity extends Activity { private InputInterceptor input; @Override protected void onCreate(Bundle savedInst

c语言acm1003 求大神看看我的代码哪错了

问题描述 c语言acm1003 求大神看看我的代码哪错了 Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 + 4 = 14. Input The first line of the input

sprymenu-在dw用spry菜单栏样式出错,修改了SpryMenuBar.css之后忘记源css样式了。。求大神指示css代码

问题描述 在dw用spry菜单栏样式出错,修改了SpryMenuBar.css之后忘记源css样式了..求大神指示css代码 结构代码如下: 项目 1 项目 1.1 项目 1.2 项目 1.3 项目 2 项目 3 项目 3.1 项目 3.1.1 项目 3.1.2 项目 3.2 项目 3.3 项目 4 var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgDown:"SpryAssets/SpryMenuBarDownHo