• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

每天进步一点点C#根据数据画饼图

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

根据数据画出饼图 

1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Web;
5 using System.Web.UI;
6 using System.Web.UI.WebControls;
7
8 using System.Drawing;
9
10 public partial class _Default : System.Web.UI.Page
11 {
12 /// <summary>
13 /// 画饼图
14 /// </summary>
15 /// <param name="sender"></param>
16 /// <param name="e"></param>
17 protected void Page_Load(object sender, EventArgs e)
18 {
19 //在一张图片上写“饼图显示”,并把图片显示出来
20 Bitmap bm = new Bitmap(400, 400);
21 Graphics g = Graphics.FromImage(bm);
22 g.Clear(Color.White); //先清理一下图形的背景色
23 g.DrawString("饼图显示",new Font("宋体",23),new SolidBrush(Color.Red),new PointF(5,5));
24
25
26 //画饼图
27 int[] Num = { 100, 200, 300, 460 }; //饼图上各部分所占的比例
28 Color[] colors = { Color.Red, Color.Green, Color.Blue, Color.Yellow }; //饼图各部分的颜色
29
30 //计算各部分数字的和
31 float TotalValue = 0;
32 for (int i = 0; i < Num.Length; i++)
33 {
34 TotalValue = TotalValue + Num[i];
35 }
36

38 float sweepAngle = 0; //扇形经过的角度
39 float startAngle = 0; //扇形起始的角度,不断的累加
40 float x = 50f;
41 float y = 50f; //全部都用float型,
42 float width = 200;
43 int index = 0; //指示器,指示用哪一个颜色
44 Color Singlecolor = new Color(); //有更简便的方法
45 foreach (int i in Num)
46 {
47 sweepAngle = i / TotalValue * 360; //旋转的角度
48 Singlecolor = colors[index]; //颜色
49 g.FillPie(new SolidBrush(Singlecolor), x, y, width, width, startAngle, sweepAngle); //填充扇形区域,从正右边开始,顺时针往下画,x,y的意思是??
50
51 g.DrawPie(Pens.Black , x, y, width, width, startAngle, sweepAngle); //画边
52 startAngle = startAngle + sweepAngle; //起始角度不断的累加
53 index++;
54 }
55 bm.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); //保存图片
56 g.Dispose();
57 }
58 }

欢迎大家围观,批评指正!共同学习,共同进步~


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#发送邮件程序及测试邮件服务器发布时间:2022-07-10
下一篇:
C#DataTable转换成ListT发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap