.net Graphics 画图 简单易懂 大家给点宝贵的建议

  1. using System; 
  2. using System.Data; 
  3. using System.Configuration; 
  4. using System.Collections; 
  5. using System.Web; 
  6. using System.Web.Security; 
  7. using System.Web.UI; 
  8. using System.Web.UI.WebControls; 
  9. using System.Web.UI.WebControls.WebParts; 
  10. using System.Web.UI.HtmlControls; 
  11. using System.Drawing; 
  12. using Test.BLL; 
  13. using Test.Common; 
  14. public partial class k_xian : System.Web.UI.Page 
  15.     private ArrayList list1 = new ArrayList(); 
  16.     protected void Page_Load(object sender, EventArgs e) 
  17.     { 
  18.         if(!IsPostBack) 
  19.         { 
  20.             huizhi(); 
  21.         } 
  22.     } 
  23.     private void huizhi() 
  24.     { 
  25.         //创建画板 
  26.         System.Drawing.Bitmap image = new System.Drawing.Bitmap(860, 400); 
  27.         Graphics g = Graphics.FromImage(image); 
  28.          
  29.         Brush brush = Brushes.Green; 
  30.         Pen myPen = new Pen(brush); 
  31.         Pen redPen = new Pen(Color.Blue); 
  32.         for (int i = 1; i <= 19; i++) 
  33.         { 
  34.             g.DrawLine(myPen, 20, 20 * i, 790, 20 * i); 
  35.         } 
  36.         for (int i = 1; i <= 19; i++) 
  37.         { 
  38.             g.DrawLine(redPen, 20, 20 * i * 2 - 20, 790, 20 * i * 2 - 20); 
  39.         } 
  40.         // 
  41.         for (int j = 1; j <= 77; j++) 
  42.         { 
  43.             g.DrawLine(myPen, 10 + 10 * j, 20, 10 + 10 * j, 380); 
  44.         } 
  45.         // 
  46.         for (int j = 1; j <= 77; j++) 
  47.         { 
  48.             g.DrawLine(redPen, 10 + 10 * j * 7 - 60, 20, 10 + 10 * j * 7 - 60, 380); 
  49.         } 
  50.         //给图的两边加一定的标识 
  51.         Font objFont1 = new Font("Arial", 9, FontStyle.Regular); 
  52.         Object obj00 = "90"
  53.         g.DrawString(obj00.ToString(), objFont1, Brushes.White, 10, 20 - 10);//画出字符串(
  54. 所要输出的字符串,字体,画笔颜色,x,y) 
  55.         Object obj11= "80"
  56.         g.DrawString(obj11.ToString(), objFont1, Brushes.White, 10, 60 - 10);//画出字符串(
  57. 所要输出的字符串,字体,画笔颜色,x,y) 
  58.         Object obj22 = "70"
  59.         g.DrawString(obj22.ToString(), objFont1, Brushes.White, 10, 100 - 10); 
  60.         Object obj33= "60"
  61.         g.DrawString(obj33.ToString(), objFont1, Brushes.White, 10, 140 - 10); 
  62.         Object obj44 = "50"
  63.         g.DrawString(obj44.ToString(), objFont1, Brushes.White, 10, 180 - 10); 
  64.         Object obj55 = "40"
  65.         g.DrawString(obj55.ToString(), objFont1, Brushes.White, 10, 220 - 10); 
  66.         Object obj66 = "30"
  67.         g.DrawString(obj66.ToString(), objFont1, Brushes.White, 10, 260 - 10); 
  68.         Object obj77 = "20"
  69.         g.DrawString(obj77.ToString(), objFont1, Brushes.White, 10, 300 - 10); 
  70.         Object obj88 = "10"
  71.         g.DrawString(obj88.ToString(), objFont1, Brushes.White, 10, 340 - 10); 
  72.         Object obj99 = "1 (单位:岁)"
  73.         g.DrawString(obj99.ToString(), objFont1, Brushes.White, 10, 380 - 10); 
  74.         // 
  75.         Font objFont2 = new Font("Arial", 9, FontStyle.Regular); 
  76.         Object obj000 = "90 岁"
  77.         g.DrawString(obj000.ToString(), objFont2, Brushes.White, 790, 20 - 10);//画出字符串
  78. (所要输出的字符串,字体,画笔颜色,x,y) 
  79.         Object obj111 = "80 岁"
  80.         g.DrawString(obj111.ToString(), objFont2, Brushes.White, 790, 60 - 10);//画出字符串
  81. (所要输出的字符串,字体,画笔颜色,x,y) 
  82.         Object obj222 = "70 岁"
  83.         g.DrawString(obj222.ToString(), objFont2, Brushes.White, 790, 100 - 10); 
  84.         Object obj333 = "60 岁"
  85.         g.DrawString(obj333.ToString(), objFont2, Brushes.White, 790, 140 - 10); 
  86.         Object obj444 = "50 岁"
  87.         g.DrawString(obj444.ToString(), objFont2, Brushes.White, 790, 180 - 10); 
  88.         Object obj555 = "40 岁"
  89.         g.DrawString(obj555.ToString(), objFont2, Brushes.White, 790, 220 - 10); 
  90.         Object obj666 = "30 岁"
  91.         g.DrawString(obj666.ToString(), objFont2, Brushes.White, 790, 260 - 10); 
  92.         Object obj777 = "20 岁"
  93.         g.DrawString(obj777.ToString(), objFont2, Brushes.White, 790, 300 - 10); 
  94.         Object obj888 = "10 岁"
  95.         g.DrawString(obj888.ToString(), objFont2, Brushes.White, 790, 340 - 10); 
  96.         Object obj999 = "1 岁"
  97.         g.DrawString(obj999.ToString(), objFont2, Brushes.White, 790, 380-10); 
  98.         // 
  99.         DataSet data = new StuInfo().GetAllStuInfos(); 
  100.         foreach (DataRow row in data.Tables[StuData.STUINFOTEST_TABLE].Rows) 
  101.         { 
  102.             list1.Add(row[StuData.AGE_FILED].ToString()); 
  103.         } 
  104.         Pen pen6 = new Pen(System.Drawing.Brushes.White, 1); 
  105.         //   一次遍历两个值,分别求出坐标作为Y轴,然后在定义一个X轴,根据xy定出一个点, 
  106.         //   然后第二个点同样,然后两个点共同画出一条直线 
  107.         for (int k = 0, x = 0; k < list1.Count - 1; k++) 
  108.         { 
  109.             double hh = Convert.ToDouble(list1[k]); 
  110.             double yy = (80 - Convert.ToDouble(list1[k])) * 4 + 60; 
  111.             Point p11 = new Point((int)(x + 20), (int)yy); 
  112.             x += 10; 
  113.             double hhh = Convert.ToDouble(list1[k + 1]); 
  114.             double yyy = (80 - Convert.ToDouble(list1[k + 1])) * 4 + 60; 
  115.             Point p22 = new Point((int)(x + 20), (int)yyy); 
  116.             g.DrawLine(pen6, p11, p22); 
  117.         } 
  118.         for (int k = 0, x = 0; k <= list1.Count - 1; k++) 
  119.         { 
  120.             double hh = Convert.ToDouble(list1[k]); 
  121.             double yy = (80 - Convert.ToDouble(list1[k])) * 4 + 60; 
  122.             g.FillEllipse(Brushes.Yellow, (int)(x + 20), (int)yy, (int)4, (int)4); 
  123.             x += 10; 
  124.         } 
  125.         //以流的格式输出 
  126.         System.IO.MemoryStream ms = new System.IO.MemoryStream(); 
  127.         image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif); 
  128.         Response.ClearContent(); 
  129.         Response.ContentType = "image/Gif"
  130.         Response.BinaryWrite(ms.ToArray()); 
  131.     } 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值