`

Asp.Net 使用 GDI+ 绘制3D饼图入门篇源码

阅读更多
<script src="/ad/ad.js" language="JavaScript"></script> <iframe name="mq" scrolling="no" marginheight="0" marginwidth="0" src="../../ad.html" frameborder="no" height="0" width="0"></iframe>
 

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
 }
}

分享到:
评论

相关推荐

    GDI+实现3D效果饼图

    接下来,我们探讨如何用GDI+来实现3D效果的饼图: 1. 初始化绘图环境:首先,你需要创建一个`Graphics`对象,它是GDI+的核心,用于执行所有的绘图操作。通常,你可以从窗体、控件或者其他支持绘图的表面获取这个...

    GDI+绘制3D饼状图

    本项目“GDI+绘制3D饼状图”聚焦于利用Windows图形设备接口(GDI+)创建具有自定义功能的3D饼图,包括设置饼图大小、输出位置等。以下将详细解析这个项目的知识点。 1. **GDI+基础**: GDI+是Windows平台上的一种...

    C# GDI+ 3D饼图 源码

    C# GDI+ 水晶3D饼图源码,C#2005做的,下了运行一下看看效果再看看源码,很不错的。用来学习C# GDI+编程是很不错的实例

    VB.net实现的曲线图、饼图源码

    VB.net实现的曲线图、饼图源码,VB.net实现的曲线图、饼图源码.

    GDI+图像程序设计(PDF & 源码 -电子工业出版社)

    如果要设计.NET Framework图形应用程序,就必须使用GDI+。本书是一本为.NET开发人员讲授如何编写Windows和Web图形应用程序的专著,书中全面介绍了GDI+和Windows图形程序设计的基本知识和GDI+图形程序设计的各个方面...

    GDI+绘制图表的应用.rar

    在本示例中,“GDI+绘制图表的应用.rar”是一个压缩包,包含了使用GDI+进行图表绘制的相关资料,特别适用于Web网页的展示,如柱状图和饼图等常见数据可视化类型。 首先,我们来深入理解GDI+在绘制图表中的核心概念...

    Asp.net 直方图饼图实现方法WebChart实例

    在Asp.NET中,WebChart控件是一种强大的工具,用于创建动态、交互式的图表,包括直方图和饼图。本实例将详细讲解如何利用WebChart控件在VS2005开发环境下实现这两种常见的数据可视化图形。 首先,我们要了解Web...

    C#GDI+图形程序设计源码

    12.1 创建第一个ASP.NET Web应用程序 12.2 第一个图形Web应用程序 12.3 绘制简单的图形 12.4 在Web上绘制图像 12.5 绘制曲线图 12.6 绘制饼图 总结 第13章 GDI+ 的最佳实践及性能技术 13.1 理解渲染过程 ...

    前端 threejs 3D饼图 通过一些配置可以实现3D饼图的生成

    通过threejs实现的3D饼图图表,数据可视化的高度应用场景中2D图表居多,3D相关的数据可视化比较少,不知收费贵而且资源少之又少,在项目中需要使用时对于初步接触的开发的人员很不友好,希望大家通过本案例可以快速...

    基于ASP.NET数据图表的绘制

    在ASP.NET中,你可以利用GDI+来直接绘制图表,这需要编写较多的代码来实现各种图表元素,如线条、柱状、饼图等。优点是具有高度的灵活性和自定义性,可以精确地控制图表的每一个细节。但缺点是代码量大,且需要对...

    ASP.NET 3D饼图

    在ASP.NET中实现3D饼图,开发者通常会使用图形库或插件,比如jQuery的Chart.js、Highcharts,或者微软自家的ASP.NET AJAX Chart控件。这些库提供了丰富的API和配置选项,可以定制图表的颜色、标签、动画效果等。在本...

    asp.net中绘制饼图与棒图

    本篇将详细介绍如何在ASP.NET环境下利用不同的库和技术来绘制饼图与棒图。 首先,饼图是一种常用的数据展示方式,它通过扇形的大小来表示各部分占整体的比例。在ASP.NET中,我们可以使用多种库来创建饼图,例如: ...

    C# GDI+ 绘制拄型和饼型图

    在C# 2005环境中,可以使用ADO.NET与SQL Server 2005进行数据交互,获取需要绘制的数值。通过建立数据库连接,执行SQL查询,将结果集转换为可以用于绘图的数据结构,如数组或列表。这一步骤是数据驱动绘图的关键。 ...

    C#绘制3D饼图

    要绘制3D饼图,我们主要依赖`System.Windows.Media.Media3D`命名空间中的类。 1. **创建3D场景**:在WPF中,所有3D元素都包含在一个`Viewport3D`对象中。首先,我们需要在XAML布局文件中添加一个`Viewport3D`控件,...

    一个基于ASP.NET+C#+Flash实现的不同风格类型的统计图表源码及程序例子

    Fusion Charts Helper Class for ASP.NET 2.0 (C#)很可能是一个专门为此目的编写的辅助类库,它简化了与Fusion Charts API的交互,帮助开发者快速生成各种图表,如柱状图、饼图、线图等。 在这个源码中,开发者可能...

    asp.net中绘制饼图柱状图

    本篇文章将详细探讨如何在ASP.NET环境中利用各种工具和技术来绘制饼图和柱状图。 首先,饼图是一种用于显示数据比例的图形,每个扇区代表一个类别,其大小表示该类别在整个数据集中的占比。在ASP.NET中,我们可以...

    3D饼图(flash)源码+配置文件

    在使用这个3D饼图资源时,你需要有一定的ActionScript(Flash编程语言)基础,以便理解和修改源码。同时,熟悉Flash开发环境,如Flash Professional或FlashDevelop,可以帮助你更好地调试和预览效果。如果你不熟悉...

    在Vue中使用highCharts绘制3d饼图的方法

    "使用HighCharts绘制3D饼图在Vue中的实现方法" 在Vue中使用HighCharts绘制3D饼图是一种常见的数据可视化方式。HighCharts是一款基于JavaScript的图表库,具有强大的数据可视化功能。下面是使用HighCharts绘制3D饼图...

    3D饼图 ASP.NET控件

    【3D饼图 ASP.NET控件】是一种在Web应用程序中用于数据可视化的强大工具,它允许开发者创建出具有视觉吸引力的3D饼图,以直观地展示数据比例和分布情况。这种控件通常由第三方库提供,如描述中的"Chartlet v0.8",它...

Global site tag (gtag.js) - Google Analytics