一、原理
創建這些圖形的通用機制是構造一個BitMap(位圖)對象,它為要創建的圖形提供了內存空間。然后,就可以調用它的“Save”方法,將其保存在磁盤,或者將其發送到任何.NET的輸出流中。ASP
例如,在VB中,可以編寫這樣的代碼:
' Create In-Memory BitMap of JPEG
Dim MyChartEngine as New ChartEngine
Dim StockBitMap as BitMap = MyChartEngine.DrawChart(600, 400, myChartData)
' Render BitMap Stream Back To Browser
StockBitMap.Save(Response.OutputStream, ImageFormat.JPEG)
如果用的是一個ASPX頁面實現這個目的,就要同時設置適當的HTTP ContentType(內容類型)頭文件,這樣瀏覽器就不會將頁面內容解釋為html,而是解釋為一個圖形??梢酝ㄟ^代碼設置Response.ContentType屬性,或者是在頂層頁面指令上設置新的“ContentType”屬性來實現這一點:
<%@ Page Language="VB" ContentType="image/jpeg" %>
注意:ASP.NET的輸出緩存功能對文本內容和二進制輸出都奏效。這樣,如果你正在從一個頁面動態生成圖形,就可以很容易地使用輸出緩存指令,從而避免在各個請求上都重新生成圖形。要注意圖形的生成有可能是很麻煩的,因此我強烈推薦你使用這一功能。比如,可以用下面的指令每隔60秒對生成的圖形進行輸出緩存:
<%@ Page Language="VB" ContentType="image/jpeg" %>
<%@ OutputCache Duration="60" %>
原文轉自:http://www.anti-gravitydesign.com