人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁(yè)面

在ASP.NET中動(dòng)態(tài)生成圖形

在ASP.NET中動(dòng)態(tài)生成圖形

更新時(shí)間:2022-07-26 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):


.NET有一個(gè)很靈巧的特性,就是可以編寫代碼生成動(dòng)態(tài)圖形,然后將生成的圖形保存在磁盤上或者直接將其發(fā)送到客戶端的瀏覽器。 



原理 



用.NET生成圖形的功能封裝在System.Drawing名稱空間中,它支持多種圖形文件格式,包括:JPEG、GIF、PNG、TIFF、BMP、PhotoCD、FlashPIX、WMF、EMF和EXIF。 



創(chuàng)建這些圖形的通用機(jī)制是構(gòu)造一個(gè)BitMap(位圖)對(duì)象,它為要?jiǎng)?chuàng)建的圖形提供了內(nèi)存空間。然后,就可以調(diào)用它的“Save”方法,將其保存在磁盤,或者將其發(fā)送到任何.NET的輸出流中。ASP.NET通過Response.OutputStream屬性揭示.NET輸出流,這意味著你可以直接將圖形的內(nèi)容發(fā)送到瀏覽器,而不用將其保存到磁盤中。 



例如,在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) 



如果用的是一個(gè)ASPX頁(yè)面實(shí)現(xiàn)這個(gè)目的,就要同時(shí)設(shè)置適當(dāng)?shù)腍TTP ContentType(內(nèi)容類型)頭文件,這樣瀏覽器就不會(huì)將頁(yè)面內(nèi)容解釋為html,而是解釋為一個(gè)圖形。可以通過代碼設(shè)置Response.ContentType屬性,或者是在頂層頁(yè)面指令上設(shè)置新的“ContentType”屬性來實(shí)現(xiàn)這一點(diǎn): 



<%@ Page Language="VB" ContentType="image/jpeg" %> 



注意:ASP.NET的輸出緩存功能對(duì)文本內(nèi)容和二進(jìn)制輸出都奏效。這樣,如果你正在從一個(gè)頁(yè)面動(dòng)態(tài)生成圖形,就可以很容易地使用輸出緩存指令,從而避免在各個(gè)請(qǐng)求上都重新生成圖形。要注意圖形的生成有可能是很麻煩的,因此我強(qiáng)烈推薦你使用這一功能。比如,可以用下面的指令每隔60秒對(duì)生成的圖形進(jìn)行輸出緩存: 



<%@ Page Language="VB" ContentType="image/jpeg" %> 
<%@ OutputCache Duration="60" %> 



生成股票圖形例程 



為了給你提供一個(gè)生成圖形的完整舉例,在這里包含了一個(gè)簡(jiǎn)單的股票圖形生成樣本代碼。請(qǐng)注意其中股票的價(jià)格并不是真實(shí)的,只是我想象出來的。樣本代碼使用了一個(gè)定制的“ChartEngine”類,它可以將建立一個(gè)普通圖形所要求的邏輯封裝起來。你應(yīng)該可以使用這個(gè)組件來制作任何定制圖形,它并不是只局限于股票數(shù)據(jù)的。 



在樣本代碼中,隨便你想要使用哪些都可以,想要怎樣使用都可以,也可以隨便將其貼在文章的任何地方,以及其它樣本中。 



要想運(yùn)行這個(gè)樣本,將以下內(nèi)容分別保存為文件放到IIS的一個(gè)應(yīng)用程序Vroot下:請(qǐng)看源碼。 
然后,在命令行中鍵入以下語句: 



mkdir bin 
csc /t:library /out:bin\chartgen.dll ChartEngine.cs /r:System.Web.dll /r:System.Winforms.dll /r:System.Drawing.dll
/r:System.dll 



chartengine被編譯后,點(diǎn)擊StockPicker.aspx頁(yè)面運(yùn)行這個(gè)樣本。這樣,也就設(shè)置了一個(gè)指向ImageGenerator_VB.aspx 頁(yè)面的<img>標(biāo)記,就是它來進(jìn)行實(shí)際的圖形生成工作。

溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 武邑县| 兴业县| 黄龙县| 伊宁县| 黄梅县| 沙洋县| 苍溪县| 宁强县| 盐津县| 苏尼特左旗| 阿鲁科尔沁旗| 淄博市| 隆安县| 阳春市| 固安县| 静安区| 汕头市| 平远县| 修文县| 绥中县| 井冈山市| 正镶白旗| 尼勒克县| 佛冈县| 苍山县| 玉溪市| 邵阳市| 肃南| 板桥市| 平塘县| 南昌市| 甘肃省| 丘北县| 青冈县| 平谷区| 五指山市| 桐庐县| 扶风县| 鹤壁市| 昌邑市| 浪卡子县|