手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp.Net编程>列表

Asp.net中使用GDI 繪製圖形

来源:互联网 作者:west263.com 时间:2008-02-22
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

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);

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!