• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > asp.net中生成饼状与柱状图实例

asp.net中生成饼状与柱状图实例

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了asp.net,asp net培训,asp和asp.net的区别,零基础学asp.net,c#和asp.net的区别等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了asp.net中生成饼状与柱状图的实现方法。分享给大家供大家参考。具体方法如下:

一、生成图形的公共方法:
using System.Collections.Generic;
using System.Text;
//
//using System.Data;
//using System.Web.UI.WebControls;
//
using System.Drawing;
using System.Drawing.Imaging;
 
namespace Tools
{
    public static class OWCImageHelp
    {
        /// <summary>
        /// 动态的生成柱状图和饼状图
        /// </summary>
        /// <param name="arrValueNames">行坐标要显示的字段</param>
        /// <param name="arrValues">纵坐标要显示的数字</param>
        /// <param name="title">标题</param>
        public static void GetZBImage(string[] arrValueNames, int[] arrValues, string title)
        {
            Bitmap objBitMap = new Bitmap(650, 300);
            Graphics objGraphics;
            objGraphics = Graphics.FromImage(objBitMap);
            objGraphics.Clear(Color.White);
            //int[] arrValues = { 40000, 32000, 24000, 30000, 36000, 28000 };
            //string[] arrValueNames = new string[] { "第一次", "第二次", "第三次", "第四次", "第五次", "第六次" };
            objGraphics.DrawString(title, new System.Drawing.Font("宋体", 16), Brushes.Blue, new PointF(5, 5));
            PointF symbolLeg = new PointF(335, 20);
            PointF descLeg = new PointF(360, 16);
            //画出说明部分的图形
            for (int i = 0; i < arrValueNames.Length; i++)
            {
                objGraphics.FillRectangle(new SolidBrush(GetColor(i)), symbolLeg.X, symbolLeg.Y, 20, 10);
                objGraphics.DrawRectangle(Pens.Black, symbolLeg.X, symbolLeg.Y, 20, 10);
                objGraphics.DrawString(arrValueNames[i].ToString(), new System.Drawing.Font("宋体", 10), Brushes.Black, descLeg);
                symbolLeg.Y += 15;
                descLeg.Y += 15;
            }
            float TotalValues = 0;
            for (int i = 0; i <= arrValues.Length - 1; i++)
            {
                TotalValues += arrValues[i];
            }
            //绘出矩形图。
            float Rectangleheight = 0;
            PointF recLeg = new PointF(12, 200 - arrValues[0] / TotalValues * 300);
            for (int i = 0; i < arrValues.Length; i++)
            {
                Rectangleheight = arrValues[i] / TotalValues * 300;
                objGraphics.FillRectangle(new SolidBrush(GetColor(i)), (i * 35) + 15, 200 - Rectangleheight, 20, Rectangleheight + 50);
                objGraphics.DrawRectangle(Pens.Black, (i * 35) + 15, 200 - Rectangleheight, 20, Rectangleheight + 50);
                recLeg.Y = 200 - Rectangleheight - 14;
                objGraphics.DrawString(arrValues[i].ToString(), new System.Drawing.Font("宋体", 10), Brushes.Blue, recLeg);
                recLeg.X += 35;
            }
            //绘出圆形图。
            float sglCurrentAngle = 0;
            float sglTotalAngle = 0;
            for (int i = 0; i < arrValues.Length; i++)
            {
                sglCurrentAngle = arrValues[i] / TotalValues * 360;
                objGraphics.FillPie(new SolidBrush(GetColor(i)), 220, 95, 100, 100, sglTotalAngle, sglCurrentAngle);
                objGraphics.DrawPie(Pens.Black, 220, 95, 100, 100, sglTotalAngle, sglCurrentAngle);
                sglTotalAngle += sglCurrentAngle;
            }
            objBitMap.Save(System.Web.HttpContext.Current.Response.OutputStream, ImageFormat.Gif);
        }
        //定义颜色。
        private static Color GetColor(int itemIndex)
        {
            Color objColor;
            if (itemIndex == 0)
            {
                objColor = Color.Maroon;
   

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Asp.net SignalR 应用并实现群聊功能 开源代码
  • asp.net动态更新
  • asp.net利用母版制作页脚效果
  • Asp.Net服务器发送HTTP标头后无法设置内容类型的问题解决
  • 使用asp.net mvc,boostrap及knockout.js开发微信自定义菜单编辑工具(推荐)
  • 详解ASP.NET MVC 常用扩展点:过滤器、模型绑定
  • ASP.NET Core发送邮件的方法
  • 在ASP.NET Core 中发送邮件的实现方法(必看篇)
  • ASP.NET MVC从视图传参到控制器的几种形式
  • Asp.net core WebApi 使用Swagger生成帮助页实例

相关文章

  • 2018-08-20.NET中接口与类的区别浅析
  • 2017-05-11Excel、记事本数据导入到数据库的实现方法
  • 2017-05-11ASP.NET实现MVC中获取当前URL、controller及action的方法
  • 2017-05-11asp.net下生成英文字符数字验证码的代码
  • 2017-05-11ASP.NET 2.0,C#----图像特效处理
  • 2017-05-11SQL为查询的结果加上序号(ROW_NUMBER) 合并多个查询结果
  • 2017-05-11.NET微信公众号开发之查询自定义菜单
  • 2017-05-11分享AjaxPro或者Ajax实现机制
  • 2017-05-11ASP.NET 在下载文件时对其重命名的思路及实现方法
  • 2018-08-20ASP.NET没有魔法_ASP.NET MVC 模型验证方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 注册页实现激活邮箱验证(asp.net c#)
    • asp.net连接数据库 增加,修改,删除,查询代码
    • asp.net实现递归方法取出菜单并显示在DropDownList中(分栏形式)
    • asp.net的cms 绑定数据篇
    • GridView控件实现数据的修改(第9节)
    • WPF实现画线动画效果
    • ASP.NET(C#) 定时执行一段代码
    • Asp.Net实现404页面与301重定向的方法
    • ASP.NET性能优化小结(ASP.NET&C#)
    • vs.net 2010 扩展插件小结 提高编程效率

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有