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

首頁 > 學院 > 開發設計 > 正文

Asp.net中使用GDI+繪製圖形

2019-11-18 19:16:37
字體:
來源:轉載
供稿:網友

GDI+ ——下一代圖形設備接口

所有的圖形用戶界面(GUI)應用程序都與硬件設備(顯示器,打印機,掃描儀)進行交互,這可以表示為可讀的數據。不過應用程序並不直接和設備之間進行通信,否則必須為每臺設備分別編寫 不同的用戶接口代碼。為了避免這種重復的工作,我們可以在應用程序和設備之間使用第三個組件,此組件將轉換和傳送發送到設備的數據,以及設備發送到程序的數據。而這個組件就是GDI+。GDI+是.NET Framework中與圖形設備進行交互的入口。GDI+是一組C++類,位于一個名為Gdiplus.dll的類庫中。Gdiplus.dll是Windows xp和Windows Server 2003操作系統中一個內置組件。好了,學術性的東西在這裡就不多廢唇舌了,下面我們用GDI+在Web Form中來畫一幅圖。

像類似這樣的圖想必大家都見過,當然這個圖並不標準,這裡把代碼貼出來有興趣的可以試一試!

 

namespace Sky_MsdnDataGrid

 

{

 

     using System;

 

     using System.Collections;

 

     using System.ComponentModel;

 

     using System.Data;

 

     using System.Drawing;

 

     using System.Drawing.Imaging;

 

     using System.Web;

 

     using System.Web.sessionState;

 

     using System.Web.UI;

 

     using System.Web.UI.WebControls;

 

     using System.Web.UI.HtmlControls;

 


 


     /// <summary>

 

     /// aspxChart 的摘要描述。

 

     /// </summary>

 

     public class AspxChart : System.Web.UI.Page

 

     {

 

           PRivate   Bitmap bitmap;

 

           private Graphics graphics;

 

           private    int[] arrValues;

 

           private string[] arrValueNames;

 


 


           private void Page_Load(object sender, System.EventArgs e)

 

           {

 

                arrValues     = new    int[6];

 

                arrValueNames = new string[6];

 

               

 

                arrValues[0]     =    100;

 

                arrValues[1]     =    135;

 

                arrValues[2]     =    115;

 

                arrValues[3]     =    125;

 

                arrValues[4]     =     75;

 

                arrValues[5]     =    120;

 


 


                arrValueNames[0] = "一月";

 

                arrValueNames[1] = "二月";

 

                arrValueNames[2] = "三月";

 

                arrValueNames[3] = "四月";

 

                arrValueNames[4] = "五月";

 

                arrValueNames[5] = "六月";

 


 


                this.Init_Bitmap();

 

                this.Draw_Rectangle();

 

                this.Draw_Pie();

 

               

 

                // 將繪製的圖像以 Gif 的格式保存到當前頁面響應的輸出流中

 

                bitmap.Save(this.Response.OutputStream,ImageFormat.Gif);

 

           }

 

          

 

           /// <summary>

 

           /// 對即將要被繪製的位圖(可想象為一塊畫佈)進行初始動作

 

           /// </summary>

 

           private void Init_Bitmap()

 

           {

 

                bitmap = new Bitmap(400,200);

 

                graphics = Graphics.FromImage(bitmap);

 

                graphics.Clear(Color.White);

 


 


                graphics.DrawString("X 公司上半年銷售情況",new Font("新細明體",16,FontStyle.Underline),Brushes.Black,new PointF(5,5));

 

           }

 


 


           #region Web Form 設計工具產生的程式碼

 

           override protected void OnInit(EventArgs e)

 

           {

 

                //

 

                // CODEGEN: 此為 asp.net Web Form 設計工具所需的呼叫。

 

                //

 

                InitializeComponent();

 

                base.OnInit(e);

 

           }

 

          

 

           /// <summary>

 

           /// 此為設計工具支援所必須的方法 - 請勿使用程式碼編輯器修改

 

           /// 這個方法的內容。

 

           /// </summary>

 

           private void InitializeComponent()

 

           {   

 

                this.Load += new System.EventHandler(this.Page_Load);

 


 


           }

 

           #endregion

 

          

 

           /// <summary>

 

           /// 在畫佈上面繪製矩形

 

           /// </summary>

 

           private void Draw_Rectangle()

 

           {

 

                int i;

 

                PointF symbolLeg = new PointF(335,20);

 

                PointF   descLeg = new PointF(360,16);

 

               

 

                for (i = 0; i < arrValueNames.Length; i++)

 

                {

 

                     graphics.FillRectangle(new SolidBrush(GetColor(i)),symbolLeg.X,symbolLeg.Y,20,10);

 

                     graphics.DrawRectangle(Pens.Black,symbolLeg.X,symbolLeg.Y,20,10);

 

                     graphics.DrawString(arrValueNames[i].ToString(),new Font("新細明體",8),Brushes.Black,descLeg);

 


 


                      symbolLeg.Y += 15;

 

                     descLeg.Y   += 16;

 

                }

 


 


                for (i = 0; i < arrValues.Length; i++)

 

                {

 

                     graphics.FillRectangle(new SolidBrush(GetColor(i)),(i*35) + 15,200 - arrValues[i],20,arrValues[i]);

 

                     graphics.DrawRectangle(Pens.Black,(i*35) + 15,200 - arrValues[i],20,arrValues[i]);

 

                }

 

           }

 

          

 

           /// <summary>

 

           /// 在畫佈上面繪製圓餅形

 

           /// </summary>

 

           private void Draw_Pie()

 

           {

 

                int i;

 

                // currentangle代表當前角度 totalangle代表最大角度 totalvalues代表最大的銷售額

 

                float sglCurrentAngle = 0,sglTotalAngle = 0,sglTotalValues = 0;

 

               

 

                // 計算最大銷售額

 

                for (i = 0; i < arrValues.Length; i++)

 

                     sglTotalValues += arrValues[i];

 


 


                for (i = 0; i < arrValues.Length; i++)

 

                {

 

                     // 當月角度值  : 當月銷售額   / 最大銷售額       * 360

 

                     sglCurrentAngle = arrValues[i] / sglTotalValues * 360;

 


 


                     graphics.FillPie(new SolidBrush(GetColor(i)),240,95,100,100,sglTotalAngle,sglCurrentAngle);

 

                     graphics.DrawPie(Pens.Black,240,95,100,100,sglTotalAngle,sglCurrentAngle);

 


 


                     sglTotalAngle += sglCurrentAngle;

 

                }

 

           }

 


 


           #region Helper Function

 

           private Color GetColor(int itemIndex)

 

           {

 

                Color color;

 

                switch(itemIndex)

 

                {

 

                     case 0:

 

                           color = Color.Blue;

 

                           break;

 

                     case 1:

 

                           color = Color.Red;

 

                           break;

 

                     case 2:

 

                           color = Color.Yellow;

 

                           break;

 

                     case 3:

 

                           color = Color.Purple;

 

                           break;

 

                     case 4:

 

                           color = Color.Orange;

 

                           break;

 

                     case 5:

 

                           color = Color.Brown;

 

                           break;

 

                     default:

 

                           color = Color.Blue;

 

                           break;

 

                }

 

                return color;

 

           }

 

           #endregion

 

     }

 

}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91精品国产综合久久香蕉922| 美女少妇精品视频| 欧美成人中文字幕在线| 97热精品视频官网| 亚洲人成电影网站色www| 欧美黑人xxxⅹ高潮交| 国产精品va在线播放| 国产日韩精品视频| zzjj国产精品一区二区| 九九热99久久久国产盗摄| 成人在线精品视频| 福利微拍一区二区| 国产精品视频网| 精品久久久久久久久久国产| 欧美精品18videosex性欧美| 亚洲女人初尝黑人巨大| 国产欧美精品一区二区三区介绍| 欧美华人在线视频| 超碰97人人做人人爱少妇| 国产又爽又黄的激情精品视频| 在线成人中文字幕| 欧美电影免费观看大全| 91免费看片网站| 亚洲精品小视频在线观看| 亚洲精品91美女久久久久久久| 成人免费在线视频网站| 3344国产精品免费看| 尤物九九久久国产精品的分类| 久久久久亚洲精品国产| 成人a免费视频| 精品国产乱码久久久久久婷婷| 欧美夫妻性生活视频| 国产亚洲精品久久久久久| 久久久久久香蕉网| 欧美性少妇18aaaa视频| 欧美国产中文字幕| 国产欧美va欧美va香蕉在线| 美女福利精品视频| 中文字幕免费国产精品| 国模叶桐国产精品一区| 日韩精品中文字幕在线观看| 欧美一级片在线播放| 国产精品丝袜久久久久久高清| 国产一区二区三区中文| 亚洲午夜久久久久久久| 国产成人午夜视频网址| 国产成人精品一区二区| 97精品国产aⅴ7777| 亚洲伊人一本大道中文字幕| 亚洲美女av在线播放| 午夜精品久久久久久久久久久久久| 国产精品欧美激情在线播放| 欧美性猛交xxxx乱大交蜜桃| 亚洲一区中文字幕| www日韩欧美| 国产aⅴ夜夜欢一区二区三区| 亚洲精品资源美女情侣酒店| 国产香蕉97碰碰久久人人| 中文字幕日韩欧美精品在线观看| 夜夜嗨av一区二区三区四区| 日韩精品999| 亚洲www在线| 国产婷婷成人久久av免费高清| 有码中文亚洲精品| 久久久久久一区二区三区| 亚洲国产精品免费| 亚洲国产成人精品电影| 亚洲欧美日韩精品久久| 91精品视频网站| 国内精品模特av私拍在线观看| 高清在线视频日韩欧美| 在线精品91av| 日韩欧美成人区| 国产精品成人v| 国产精品久久久久影院日本| 91美女高潮出水| xvideos亚洲| 国产成人亚洲综合青青| 欧美日韩成人黄色| 欧美成人免费网| 欧美xxxwww| 久久久久久国产精品美女| 色综合久久天天综线观看| 国产va免费精品高清在线| 九九热精品视频在线播放| 欧美精品精品精品精品免费| 日韩在线观看视频免费| 亚洲欧美三级在线| 自拍偷拍亚洲区| 国产日韩欧美电影在线观看| 久久久久久18| 亚洲人成电影网站色…| 日韩中文字幕久久| 宅男66日本亚洲欧美视频| 免费91在线视频| 欧美超级乱淫片喷水| 亚洲性av网站| 欧美精品午夜视频| 国产精品久久久久久影视| 国产精品免费视频xxxx| 欧美—级高清免费播放| 欧美精品在线极品| 大荫蒂欧美视频另类xxxx| 国产欧美精品日韩| 超碰日本道色综合久久综合| 亚洲精品国产品国语在线| 在线看福利67194| 亚洲福利精品在线| 色青青草原桃花久久综合| 在线观看日韩视频| 精品福利在线观看| 成人h猎奇视频网站| 久久久久久久av| 欧美激情精品久久久久久蜜臀| 国产在线拍揄自揄视频不卡99| 亚洲一区精品电影| 国产成人精品最新| 国产精品91免费在线| 国产精品ⅴa在线观看h| 亚洲天堂av在线免费观看| 欧美国产中文字幕| 国内精品一区二区三区| 国产91色在线播放| 亚洲图片在线综合| 亚洲精品久久久久久久久久久久| 日韩中文在线不卡| 久久久久久国产精品久久| 国产亚洲精品久久| 国产精品久久久久久av福利| 亚洲国产精品系列| 狠狠色香婷婷久久亚洲精品| 国产精品爽爽爽爽爽爽在线观看| 国产成+人+综合+亚洲欧美丁香花| 亚洲视频在线播放| 日韩一区二区三区国产| 精品中文字幕在线观看| 欧美日韩国产丝袜另类| 国产亚洲一级高清| 欧美肥婆姓交大片| 色偷偷噜噜噜亚洲男人的天堂| 国产精品视频最多的网站| 日韩欧美亚洲国产一区| 91精品久久久久久久久| 欧美色另类天堂2015| 色噜噜狠狠狠综合曰曰曰88av| 日韩成人在线播放| 亚洲国产欧美久久| 精品一区精品二区| 亚洲第一网站男人都懂| 亚洲第一视频在线观看| 国产精品久久色| 8x海外华人永久免费日韩内陆视频| 久久精品中文字幕免费mv| 国产精品最新在线观看| 自拍偷拍亚洲精品| 最新的欧美黄色| 欧美日韩人人澡狠狠躁视频| 超碰精品一区二区三区乱码| 亚洲天堂av女优| 国产精品午夜视频| 国产精品老女人视频| 国产精品都在这里| 亚洲曰本av电影| 亲爱的老师9免费观看全集电视剧|