Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1778937
  • 博文数量: 198
  • 博客积分: 4088
  • 博客等级: 上校
  • 技术积分: 2391
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-15 16:29
个人简介

游戏开发,系统架构; 博客迁移到:http://www.jianshu.com/u/3ac0504b3b8c

文章分类

全部博文(198)

文章存档

2017年(1)

2016年(12)

2015年(1)

2014年(3)

2013年(13)

2012年(18)

2011年(150)

分类: 嵌入式

2011-10-31 15:23:26

  1. private void DrawPic(int[] arr, int n, string heroname)
  2.     {
  3.         Bitmap bitmap = new Bitmap(1080, 600);
  4.         Graphics graphics;

  5.         graphics = Graphics.FromImage(bitmap);

  6.         graphics.Clear(Color.White);

  7.         graphics.DrawRectangle(Pens.Black, 50, 50, 1000, 500);

  8.         graphics.DrawString(heroname + "英雄分布", new Font("宋体", 16, FontStyle.Bold), Brushes.Black, new PointF(450,70));

  9.         //最大的值

  10.         int max_value = arr[500];
  11.         int total_value = arr[501];


  12.         graphics.DrawString("总样本点个数:" + total_value.ToString(), new Font("宋体", 11, FontStyle.Bold), Brushes.Blue, 800, 400);

  13.         //纵坐标标识

  14.         int step = 0;
  15.         if (max_value > 10)
  16.         {
  17.             step = max_value / 10;
  18.         }
  19.         else
  20.         {
  21.             step = 1;
  22.         }
  23.         for (int i = 0; i <= 10; ++i)
  24.         {
  25.             graphics.DrawLine(new Pen(Color.Blue, 1), 50, 550 - 50 * i, 60, 550 - 50 * i);
  26.             graphics.DrawString((step * i).ToString(), new Font("宋体", 10), Brushes.Black, 52, 536 - 50 * i);
  27.         }

  28.         graphics.DrawString("玩家数", new Font("宋体", 11), Brushes.Black, 30, 15);

  29.         //横坐标标识

  30.         for (int i = 0; i <= 10; ++i)
  31.         {
  32.             graphics.DrawLine(new Pen(Color.Blue, 1), 50 + 100 * i, 550, 50 + 100 * i , 540);
  33.             graphics.DrawString((50 * i).ToString(), new Font("宋体", 10), Brushes.Black, 40 + 100 * i, 560);
  34.         }

  35.         graphics.DrawString("水平值", new Font("宋体", 11), Brushes.Black, 480, 580);

  36.         //柱状图(线)

  37.         
  38.         for (int i = 0; i < 500; ++i)
  39.         {
  40.             if (arr[i] != 0)
  41.             {
  42.                 graphics.DrawLine(new Pen(Color.Red, 2), 50 + 2 * i, 550, 50 + 2 * i, 550 - (arr[i] * 500) / max_value);
  43.             }
  44.         }

  45.          bitmap.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif);
  46.     }
阅读(2485) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~