程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#發現之旅第八講 ASP.NET圖形開發帶超鏈接的餅圖(4)

C#發現之旅第八講 ASP.NET圖形開發帶超鏈接的餅圖(4)

編輯:關於C語言

在這裡,采 用服務器端生成包含圖形的圖片來顯示圖形。由於HTML頁面是純文本的文檔,不能包含圖片 文檔等二進制數據,因此必須采用至少兩個頁面來配合顯示包含圖文的頁面,其中主頁面來 顯示Html文檔,而圖片服務頁面則專門來生成圖片文檔。

在這裡說明一下程序的流程 ,首先客戶端浏覽器向主頁面發出請求,該頁面中需要顯示圖形,於是生成一個圖形文檔對 象,向這個圖形文檔對象填充數據,然後根據圖形文檔對象和圖片服務頁面的接口來生成專 門顯示圖片的Html代碼,同時還得講圖片文檔對象放入到一個臨時數據容器中,最常用的就 是session容器。

主頁面處理完成後將生成的HTML文檔發送到客戶端浏覽器,浏覽器 解析HTML 文檔,並根據其引用的圖片URL向服務器端的圖片服務頁面發送請求,最常見的就 是IMG元素的SRC屬性。圖片服務頁面根據URL中的參數從臨時數據容器中獲得圖形文檔對象, 從中獲得圖像數據,然後轉發到浏覽器,浏覽器獲得圖像數據後才能完整的展示主頁面生成 的Html文檔。

整個過程比較復雜,需要對HTTP和Html有比較深的了解。

當然 我們可以去掉圖片服務頁面,在主頁面中生成圖片,然後將圖片保存到一個臨時文件中,這 樣做不甚合理,需要開放WEB程序訪問服務器文件系統的權限,而且圖片文件是比較大的,占 磁盤空間,需要及時刪除,而如何刪除這些臨時文件也是一個問題。而采用圖片服務頁面是 在內存中生成圖像文檔的,不用寫臨時文件,這樣做方便網站的維護。

軟件代碼說明

根據軟件設計,使用VS.Net2003開發出這樣的程序,現對該程序代碼進行詳細說明。 首先說明一下餅圖文檔對象模型。

餅圖項目對象 PIEShapeItem

本類型定義 了餅圖中的一個項目,代碼如下

/// <summary>
/// 單個餅圖形 狀項目
/// </summary>
/// <remarks>該類型是PIEShape列表的成 員類型</remarks>
[System.Serializable()]
public class PIEShapeItem
{
  private double dblValue = 0 ;
  /// <summary>
  /// 數值
  /// </summary>
  public double Value
  {
    get{ return dblValue ;}
    set{ dblValue = value;}
  }
  private string strText = null;
   /// <summary>
  /// 對象文本
  /// </summary>
   public string Text
  {
    get{ return strText ;}
     set{ strText = value;}
  }
  private string strLink = null;
   /// <summary>
  /// 項目鏈接地址
  /// </summary>
  public string Link
  {
    get{ return strLink ;}
     set{ strLink = value;}
  }
  private Color intColor = Color.Black ;
  /// <summary>
  /// 項目顏色
  /// </summary>
  public Color Color
  {
    get{ return intColor ;}
    set{ intColor = value;}
  }
  /// <summary>
  /// 開始角度
  /// </summary>
   internal float StartAngle = 0 ;
  /// <summary>
  /// 結束角 度
  /// </summary>
  internal float EndAngle = 0 ;
}//public class PIEShapeItem

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved