亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

asp.net畫曲線圖(折線圖)代碼 詳細注釋

2024-07-10 13:26:32
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:


using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
//添加畫圖類
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Drawing;
using System.IO;
using System.Data.SqlClient;
public partial class Curve_Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Get_CurveData();
}
}
//獲取數據
public void Get_CurveData()
{
SqlConnection conn = null;
try
{
conn = CommonFunction.CreateDBTest();
conn.Open();
SqlCommand cmd = conn.CreateCommand();
string sqlStr = "SELECT * FROM CURVE ORDER BY TESTDATE";
DataTable dt = CommonFunction.ExecuteDatable(conn, cmd, CommandType.Text, sqlStr, null);
draw(dt);
}
catch (Exception exp)
{
Response.Write(exp.Message);
}
finally
{
if (conn != null)
conn.Close();
}
}
public void draw(DataTable dt)
{
//取得記錄數量
int count = dt.Rows.Count;
//記算圖表寬度
int wd = 80 + 20 * (count - 1);
//設置最小寬度為800
if (wd < 600) wd = 600;
//生成Bitmap對像
Bitmap img = new Bitmap(wd, 400);
//生成繪圖對像
Graphics g = Graphics.FromImage(img);
//定義黑色畫筆
Pen Bp = new Pen(Color.Black);
//定義紅色畫筆
Pen Rp = new Pen(Color.Red);
//定義銀灰色畫筆
Pen Sp = new Pen(Color.Silver);
//定義大標題字體
Font Bfont = new Font("Arial", 12, FontStyle.Bold);
//定義一般字體
Font font = new Font("Arial", 6);
//定義大點的字體
Font Tfont = new Font("Arial", 9);
//定義橫坐標間隔,(最佳值是總寬度-留空寬度[左右側都需要])/(記錄數量-1)
int xSpace = (wd - 100) / (count - 1);
//定義縱坐標間隔,不能隨便修改,跟高度和橫坐標線的條數有關,最佳值=(繪圖的高度-上面留空-下面留空)
int ySpace = 30;
//縱坐標最大值和間隔值
int yMaxValue = 30;
//繪制底色
g.DrawRectangle(new Pen(Color.White, 400), 0, 0, img.Width, img.Height);
//定義黑色過渡型筆刷
LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0, 0, img.Width, img.Height), Color.Black, Color.Black, 1.2F, true);
//定義藍色過渡型筆刷
LinearGradientBrush Bluebrush = new LinearGradientBrush(new Rectangle(0, 0, img.Width, img.Height), Color.Blue, Color.Blue, 1.2F, true);
//繪制大標題
g.DrawString("測試曲線圖", Bfont, brush, 40, 5);
//繪制信息簡報
string info = " 曲線圖生成時間:" + DateTime.Now.ToString();
g.DrawString(info, Tfont, Bluebrush, 40, 25);
//繪制圖片邊框
g.DrawRectangle(Bp, 0, 0, img.Width - 1, img.Height - 1);
//繪制豎坐標軸
g.DrawLine(Bp, 40, 55, 40, 360);
//繪制橫坐標軸 x2的60是右側空出部分
g.DrawLine(Bp, 40, 360, 60 + xSpace * (count - 1), 360);
//繪制豎坐標標題
g.DrawString("測試值", Tfont, brush, 5, 40);
//繪制橫坐標標題
g.DrawString("測試時間", Tfont, brush, 40, 385);
//繪制豎坐標線
for (int i = 0; i < count; i++)
{
g.DrawLine(Sp, 40 + xSpace * i, 60, 40 + xSpace * i, 360);
}
//繪制時間軸坐標標簽
for (int i = 0; i < count; i++)
{
string st = Convert.ToDateTime(dt.Rows[i]["testdate"]).ToString("MM:dd");
g.DrawString(st, font, brush, 30 + xSpace * i, 370);
}
//繪制橫坐標線
for (int i = 0; i < 10; i++)
{
g.DrawLine(Sp, 40, 60 + ySpace * i, 40 + xSpace * (count - 1), 60 + ySpace * i);
//橫坐標軸的值間隔是最大值除以間隔數
int s = yMaxValue - i * (yMaxValue / 10);
//繪制發送量軸坐標標簽
g.DrawString(s.ToString(), font, brush, 10, 60 + ySpace * i);
}
//定義縱坐標單位數值=縱坐標最大值/標量最大值(300/30)
int yAveValue = 10;
//定義曲線轉折點
Point[] p = new Point[count];
for (int i = 0; i < count; i++)
{
p[i].X = 40 + xSpace * i;
p[i].Y = 360 - Convert.ToInt32(dt.Rows[i]["testvalue"]) * yAveValue;
}
//繪制折線圖
//g.DrawLines(Rp, p);
//繪制曲線圖
//g.DrawCurve(Rp, p);
//繪制自定義張力的曲線圖(0.5F是張力值,默認就是這個值)
g.DrawCurve(Rp, p,0.5F);
//當需要在一個圖里繪制多條曲線的時候,就多定義個point數組,然后畫出來就可以了。
for (int i = 0; i < count; i++)
{
//繪制發送記錄點的發送量
g.DrawString(dt.Rows[i]["testvalue"].ToString(), font, Bluebrush, p[i].X, p[i].Y - 10);
//繪制發送記錄點
g.DrawRectangle(Rp, p[i].X - 1, p[i].Y - 1, 2, 2);
}
//保存繪制的圖片
MemoryStream stream = new MemoryStream();
img.Save(stream, ImageFormat.Jpeg);
//圖片輸出
Response.Clear();
Response.ContentType = "image/jpeg";
Response.BinaryWrite(stream.ToArray());
}
}
數據表的內容很簡單,就兩個字段:testValue和testDate,由于圖的縱坐標有最大值,所以testValue的值不能超過30,當然,你可以調整坐標軸的單位或者高度。
12 2008-12-1 0:00:00
9 2008-12-5 0:00:00
20 2008-12-10 0:00:00
18 2008-12-15 0:00:00
27 2008-12-20 0:00:00
8 2008-12-25 0:00:00
15 2008-12-30 0:00:00
25 2009-1-1 0:00:00
23 2009-1-5 0:00:00

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
青青久久av北条麻妃黑人| 91国产视频在线| 91美女片黄在线观看游戏| 亚洲aⅴ男人的天堂在线观看| 26uuu另类亚洲欧美日本老年| 国产在线视频欧美| 精品色蜜蜜精品视频在线观看| 亚洲国产精品免费| 国产精品精品视频| 欧美大奶子在线| 欧美亚洲国产视频| 亚洲精品国产成人| 日韩美女免费观看| 欧美一级视频在线观看| 成人国产精品久久久久久亚洲| 日韩精品中文在线观看| 2020久久国产精品| 日本不卡免费高清视频| 欧美亚洲第一页| 色婷婷综合久久久久中文字幕1| 亚洲毛片在线观看.| 日韩美女在线观看一区| 国产91精品在线播放| 91久久精品在线| 91香蕉国产在线观看| 在线看国产精品| 性视频1819p久久| 国产精品久久久久久亚洲调教| 久久精品久久精品亚洲人| 久久99久久99精品免观看粉嫩| 亚洲成人av片在线观看| 日韩中文字在线| 国产69精品久久久久99| 国产精品自拍网| 欧美日韩亚洲一区二区三区| 欧美成人在线免费| 久久精品国产69国产精品亚洲| 日韩福利在线播放| 亚洲欧美成人一区二区在线电影| 亚洲精品99久久久久中文字幕| 黑人精品xxx一区| 亚洲国产精品久久精品怡红院| 亚洲欧美精品一区二区| 国产视频精品一区二区三区| 国产视频综合在线| 欧美激情精品久久久| 久久人人爽人人爽人人片亚洲| 国产精品va在线播放我和闺蜜| 国产精品高潮呻吟久久av黑人| 日韩在线观看网站| 国产精品第二页| 成人激情电影一区二区| 91系列在线观看| 亚洲自拍偷拍色片视频| 性色av香蕉一区二区| 欧美日韩日本国产| 久久91精品国产91久久跳| 成人黄色大片在线免费观看| 日韩有码片在线观看| 国产精品爽爽爽| 日韩高清av一区二区三区| 精品久久久久久久久久ntr影视| 日韩精品中文字幕视频在线| 国产精品av免费在线观看| 亚洲视频axxx| 国产成人精品亚洲精品| 国产精品久久久久秋霞鲁丝| 91青草视频久久| 精品国产网站地址| 精品久久久久久久久久国产| 日韩最新免费不卡| 欧美日韩高清区| 欧美性xxxxxxx| 中文字幕精品影院| 久久精品99久久香蕉国产色戒| 欧美大片网站在线观看| 欧美性猛交丰臀xxxxx网站| 欧美在线观看日本一区| 久久视频免费在线播放| 日韩精品在线视频| 色噜噜狠狠色综合网图区| 国产精品久久久一区| 中文综合在线观看| 国产亚洲精品激情久久| 91日韩在线播放| 成人午夜激情免费视频| 日本国产一区二区三区| 国产免费成人av| 久久精品亚洲94久久精品| 亚洲电影免费观看高清完整版在线| 91在线观看免费| 久久久久久久久久亚洲| 亚洲伊人一本大道中文字幕| 夜夜嗨av色综合久久久综合网| 668精品在线视频| 久久久久久久久综合| 欧美综合在线观看| 国产69精品久久久久99| 亚洲free性xxxx护士hd| 国产一区二区丝袜| 黄色一区二区在线| 最近2019好看的中文字幕免费| 中文字幕一精品亚洲无线一区| 欧美国产日韩xxxxx| 91成人精品网站| 欧美片一区二区三区| 国产精品福利小视频| 国产精品一区二区三| 国产精品色视频| 国产精品久久二区| 日韩av电影手机在线| 欧美成人精品一区二区三区| 欧美激情中文字幕乱码免费| 亚洲国产精品久久久久| y97精品国产97久久久久久| 日韩动漫免费观看电视剧高清| 日本中文字幕不卡免费| 一本色道久久88精品综合| 久久久亚洲影院| 成人国产精品色哟哟| 欧美精品电影免费在线观看| 成人久久久久爱| 久久久国产精彩视频美女艺术照福利| 精品国产一区二区三区久久狼黑人| 青青草原成人在线视频| 国产精品一区专区欧美日韩| 国产精品h片在线播放| 欧美亚洲另类视频| 久久综合伊人77777| 欧美性极品xxxx做受| 日韩精品免费综合视频在线播放| 夜夜嗨av一区二区三区免费区| 成人黄色av网站| 成人性生交xxxxx网站| 55夜色66夜色国产精品视频| 亚洲第一偷拍网| 欧美国产日韩免费| 一区二区在线免费视频| 中文字幕一精品亚洲无线一区| 亚洲a区在线视频| 亚洲成年人在线播放| 欧美夫妻性生活xx| 国语自产偷拍精品视频偷| 精品女同一区二区三区在线播放| 久久亚洲成人精品| 日韩小视频在线| 国产精品99久久久久久白浆小说| 国产精品网红福利| 91黑丝高跟在线| 日韩欧美有码在线| 亚洲三级黄色在线观看| 久久久久免费精品国产| 国产一区深夜福利| 精品久久久久久电影| 亚洲999一在线观看www| 欧美一级高清免费| 成人免费看吃奶视频网站| 国产精品视频一区二区三区四| 欧美黑人xxxⅹ高潮交| 2020国产精品视频| 欧美在线视频a| 影音先锋日韩有码| 亚洲成人av资源网| 久久精品91久久香蕉加勒比|