选择显示字体大小

用asp.net画饼图(可用于各种投票程序)

//用asp.net画饼图(可用于各种投票程序)
//和asp相比asp.net拥有更强大的功能,使用gdi+可以轻易实现以前很多不能办到的图形功能。
//首先在c:\中建库mess.mdb,并建表title.
//建二个字段,title(char型),point(int型)
//非常满意 281
//比较满意 297
//还凑合 166
//不满意 416
//我还写了画折线图和条形图的部分,目前正在把它们全部写进一个类中。需要的可以和我联系:mailto:ouyang76@263.net
<%@ page language="c#" %>
<%@import namespace="system.data"%>
<%@import namespace="system.data.oledb"%>
<%@import namespace="system.drawing"%>
<%@import namespace="system.drawing.imaging"%>
<script language="c#" runat="server">
  public void page_load(object obj,eventargs e)
 {
//把连接字串指定为一个常量
const string strconn = "provider=microsoft.jet.oledb.4.0;" +
"data source=c:\\mess.mdb";
oledbconnection conn=new oledbconnection(strconn);
conn.open();
string sql="select *  from title";
oledbcommand cmd=new oledbcommand(sql,conn);
dataset ds=new dataset();
oledbdataadapter adapter1=new oledbdataadapter(cmd);
adapter1.fill(ds);
conn.close();
float total=0.0f,tmp;
int iloop;
  for(iloop=0;iloop<ds.tables[0].rows.count;iloop++)
{
  tmp=convert.tosingle(ds.tables[0].rows[iloop]["point"]);//转换成单精度,投票不可能投半票。也可写成convert.toint32
  total+=tmp;
  }
//response.write(convert.tostring(total));

font fontlegend=new font("verdana",9),fonttitle=new font("verdana",10,fontstyle.bold);//设置字体
//fonttitle为主标题的字体

int width=230;//白色背景宽
const int bufferspace=15;
int legendheight=fontlegend.height*(ds.tables[0].rows.count+1)+bufferspace;
 int titleheight = fonttitle.height + bufferspace;
 int height = width + legendheight + titleheight + bufferspace;//白色背景高
 int pieheight = width;
rectangle pierect=new rectangle(0,titleheight,width,pieheight);

//加上各种随机色
 arraylist colors = new arraylist();
 random rnd = new random();
 for (iloop = 0; iloop < ds.tables[0].rows.count; iloop++)
  colors.add(new solidbrush(color.fromargb(rnd.next(255), rnd.next(255), rnd.next(255))));

bitmap objbitmap=new bitmap(width,height);//创建一个bitmap实例
//bitmap objbitmap=new bitmap(230,500);//创建一个bitmap实例
graphics objgraphics=graphics.fromimage(objbitmap);

objgraphics.fillrectangle(new solidbrush(color.white), 0, 0, width, height);//画一个白色背景
objgraphics.fillrectangle(new solidbrush(color.lightyellow), pierect);//画一个亮黄色背景
//以下为画饼图(有几行row画几个)
float currentdegree=0.0f;
 for (iloop = 0; iloop < ds.tables[0].rows.count; iloop++)
 {
  objgraphics.fillpie((solidbrush) colors[iloop], pierect, currentdegree,
  convert.tosingle(ds.tables[0].rows[iloop]["point"]) / total * 360);
  currentdegree += convert.tosingle(ds.tables[0].rows[iloop]["point"]) / total * 360;
 }
//---以下为生成主标题
solidbrush blackbrush=new solidbrush(color.black);
string title="本次《程序员大本营》推出了配套的专刊,您对专刊满意吗?";
 stringformat stringformat = new stringformat();
 stringformat.alignment = stringalignment.center;
 stringformat.linealignment = stringalignment.center;

 objgraphics.drawstring(title, fonttitle, blackbrush,
new rectangle(0, 0, width, titleheight), stringformat);
//列出各字段与得票数
objgraphics.drawrectangle(new pen(color.black, 2), 0, height - legendheight, width, legendheight);
  for (iloop = 0; iloop < ds.tables[0].rows.count; iloop++)
  {
  objgraphics.fillrectangle((solidbrush) colors[iloop], 5, height - legendheight + fontlegend.height * iloop + 5, 10, 10);
  objgraphics.drawstring(((string) ds.tables[0].rows[iloop]["title"]) + " - " + convert.tostring(ds.tables[0].rows[iloop]["point"]), fontlegend, blackbrush,
20, height - legendheight + fontlegend.height * iloop + 1);
  }
//
objgraphics.drawstring("总票数是:"+convert.tostring(total),fontlegend,blackbrush, 5, height - fontlegend.height );
//图像总的高度-一行字体的高度,即是最底行的一行字体高度(height - fontlegend.height )
response.contenttype="image/jpeg";
objbitmap.save(response.outputstream,imageformat.jpeg);
//objbitmap.save("myyyyyyyyyyy.jpg", imageformat.jpeg);//输出到文件

objgraphics.dispose();
objbitmap.dispose();
  }
</script>

  


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons