topn3dpie.aspx ------------------ <%@ Page language="c#" CodeBehind="topn3dpie.aspx.cs" AutoEventWireup="false" Inherits="Yeefly.topn3dpie" %> topn3dpie.aspx.cs ----------------- using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Drawing.Imaging; using System.Drawing.Drawing2D; using System.IO; namespace Yeefly { /// <summary> /// Graph 的摘要说明。 /// </summary> public class topn3dpie : System.Web.UI.Page { private void Page_Load(object sender, System.EventArgs e) { Response.ContentType = "image/jpeg"; const int width = 300, height = 300; int x = 30, y = 50; int pieWidth = 120, pieHeight = 40, pieShadow = 15; int[] arrVote = {70,90,80,20,60,40}; Random oRan = new Random(); Bitmap objBitmap = new Bitmap(width, height); Graphics objGraphics = Graphics.FromImage(objBitmap); objGraphics.DrawRectangle(new Pen(Color.Black),0,0,width,height); objGraphics.FillRectangle(new SolidBrush(Color.White), 1, 1,width - 2, height - 2); SolidBrush objBrush = new SolidBrush(Color.Blue); objGraphics.SmoothingMode = SmoothingMode.AntiAlias; int iCurrentPos = 0; Color[] arrColor = {Color.Red,Color.Red,Color.Red,Color.Red,Color.Red,Color.Red}; for(int i = arrVote.Length - 1 ; i >= 0; i--) { arrColor[i] = Color.FromArgb(oRan.Next(255), oRan.Next(255), oRan.Next(255)); } for(int i = arrVote.Length - 1 ; i >= 0; i--) { objBrush.Color = arrColor[i]; for(int iLoop2 = 0; iLoop2 < pieShadow; iLoop2++) objGraphics.FillPie(new HatchBrush(HatchStyle.Percent50,objBrush.Color),x, y + iLoop2, pieWidth, pieHeight, iCurrentPos, arrVote[i]); iCurrentPos += arrVote[i]; } iCurrentPos = 0; for(int i = arrVote.Length - 1 ; i >= 0;i--) { objBrush.Color = arrColor[i]; objGraphics.FillPie(objBrush,x, y, pieWidth, pieHeight, iCurrentPos, arrVote[i]); iCurrentPos += arrVote[i]; } objBitmap.Save(Response.OutputStream, ImageFormat.Jpeg); // clean up... objGraphics.Dispose(); objBitmap.Dispose(); } #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load); } #endregion } }
|