- using System;
- using System.Data;
- using System.Configuration;
- using System.Collections;
- using System.Web;
- using System.Web.Security;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.WebControls.WebParts;
- using System.Web.UI.HtmlControls;
- using System.Drawing;
- using Test.BLL;
- using Test.Common;
- public partial class k_xian : System.Web.UI.Page
- {
- private ArrayList list1 = new ArrayList();
- protected void Page_Load(object sender, EventArgs e)
- {
- if(!IsPostBack)
- {
- huizhi();
- }
- }
- private void huizhi()
- {
- //创建画板
- System.Drawing.Bitmap image = new System.Drawing.Bitmap(860, 400);
- Graphics g = Graphics.FromImage(image);
- Brush brush = Brushes.Green;
- Pen myPen = new Pen(brush);
- Pen redPen = new Pen(Color.Blue);
- for (int i = 1; i <= 19; i++)
- {
- g.DrawLine(myPen, 20, 20 * i, 790, 20 * i);
- }
- for (int i = 1; i <= 19; i++)
- {
- g.DrawLine(redPen, 20, 20 * i * 2 - 20, 790, 20 * i * 2 - 20);
- }
- //
- for (int j = 1; j <= 77; j++)
- {
- g.DrawLine(myPen, 10 + 10 * j, 20, 10 + 10 * j, 380);
- }
- //
- for (int j = 1; j <= 77; j++)
- {
- g.DrawLine(redPen, 10 + 10 * j * 7 - 60, 20, 10 + 10 * j * 7 - 60, 380);
- }
- //给图的两边加一定的标识
- Font objFont1 = new Font("Arial", 9, FontStyle.Regular);
- Object obj00 = "90";
- g.DrawString(obj00.ToString(), objFont1, Brushes.White, 10, 20 - 10);//画出字符串(
- 所要输出的字符串,字体,画笔颜色,x,y)
- Object obj11= "80";
- g.DrawString(obj11.ToString(), objFont1, Brushes.White, 10, 60 - 10);//画出字符串(
- 所要输出的字符串,字体,画笔颜色,x,y)
- Object obj22 = "70";
- g.DrawString(obj22.ToString(), objFont1, Brushes.White, 10, 100 - 10);
- Object obj33= "60";
- g.DrawString(obj33.ToString(), objFont1, Brushes.White, 10, 140 - 10);
- Object obj44 = "50";
- g.DrawString(obj44.ToString(), objFont1, Brushes.White, 10, 180 - 10);
- Object obj55 = "40";
- g.DrawString(obj55.ToString(), objFont1, Brushes.White, 10, 220 - 10);
- Object obj66 = "30";
- g.DrawString(obj66.ToString(), objFont1, Brushes.White, 10, 260 - 10);
- Object obj77 = "20";
- g.DrawString(obj77.ToString(), objFont1, Brushes.White, 10, 300 - 10);
- Object obj88 = "10";
- g.DrawString(obj88.ToString(), objFont1, Brushes.White, 10, 340 - 10);
- Object obj99 = "1 (单位:岁)";
- g.DrawString(obj99.ToString(), objFont1, Brushes.White, 10, 380 - 10);
- //
- Font objFont2 = new Font("Arial", 9, FontStyle.Regular);
- Object obj000 = "90 岁";
- g.DrawString(obj000.ToString(), objFont2, Brushes.White, 790, 20 - 10);//画出字符串
- (所要输出的字符串,字体,画笔颜色,x,y)
- Object obj111 = "80 岁";
- g.DrawString(obj111.ToString(), objFont2, Brushes.White, 790, 60 - 10);//画出字符串
- (所要输出的字符串,字体,画笔颜色,x,y)
- Object obj222 = "70 岁";
- g.DrawString(obj222.ToString(), objFont2, Brushes.White, 790, 100 - 10);
- Object obj333 = "60 岁";
- g.DrawString(obj333.ToString(), objFont2, Brushes.White, 790, 140 - 10);
- Object obj444 = "50 岁";
- g.DrawString(obj444.ToString(), objFont2, Brushes.White, 790, 180 - 10);
- Object obj555 = "40 岁";
- g.DrawString(obj555.ToString(), objFont2, Brushes.White, 790, 220 - 10);
- Object obj666 = "30 岁";
- g.DrawString(obj666.ToString(), objFont2, Brushes.White, 790, 260 - 10);
- Object obj777 = "20 岁";
- g.DrawString(obj777.ToString(), objFont2, Brushes.White, 790, 300 - 10);
- Object obj888 = "10 岁";
- g.DrawString(obj888.ToString(), objFont2, Brushes.White, 790, 340 - 10);
- Object obj999 = "1 岁";
- g.DrawString(obj999.ToString(), objFont2, Brushes.White, 790, 380-10);
- //
- DataSet data = new StuInfo().GetAllStuInfos();
- foreach (DataRow row in data.Tables[StuData.STUINFOTEST_TABLE].Rows)
- {
- list1.Add(row[StuData.AGE_FILED].ToString());
- }
- Pen pen6 = new Pen(System.Drawing.Brushes.White, 1);
- // 一次遍历两个值,分别求出坐标作为Y轴,然后在定义一个X轴,根据xy定出一个点,
- // 然后第二个点同样,然后两个点共同画出一条直线
- for (int k = 0, x = 0; k < list1.Count - 1; k++)
- {
- double hh = Convert.ToDouble(list1[k]);
- double yy = (80 - Convert.ToDouble(list1[k])) * 4 + 60;
- Point p11 = new Point((int)(x + 20), (int)yy);
- x += 10;
- double hhh = Convert.ToDouble(list1[k + 1]);
- double yyy = (80 - Convert.ToDouble(list1[k + 1])) * 4 + 60;
- Point p22 = new Point((int)(x + 20), (int)yyy);
- g.DrawLine(pen6, p11, p22);
- }
- for (int k = 0, x = 0; k <= list1.Count - 1; k++)
- {
- double hh = Convert.ToDouble(list1[k]);
- double yy = (80 - Convert.ToDouble(list1[k])) * 4 + 60;
- g.FillEllipse(Brushes.Yellow, (int)(x + 20), (int)yy, (int)4, (int)4);
- x += 10;
- }
- //以流的格式输出
- System.IO.MemoryStream ms = new System.IO.MemoryStream();
- image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
- Response.ClearContent();
- Response.ContentType = "image/Gif";
- Response.BinaryWrite(ms.ToArray());
- }
- }
.net Graphics 画图 简单易懂 大家给点宝贵的建议
最新推荐文章于 2023-05-29 08:02:39 发布