台灣最大程式設計社群網站
線上人數
639
 
會員總數:244676
討論主題:188773
歡迎您免費加入會員
討論區列表 >> 專欄文章 >> 用ASP畫餅圖,條形圖,各種形狀圖象的元件
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
用ASP畫餅圖,條形圖,各種形狀圖象的元件
價值 : 0 QP  點閱數:3781 回應數:0

樓主

站務人員 站長
門外漢
0 1580
542 9
發送站內信

捐贈 VP 給 站務人員
--------------------------------------------------
http://club.kimo.com.tw/clubs/CrazyAsp

轉貼:(不知名作者)
好東西大家分享:一個用來畫圖的元件(畫餅圖,條形圖,各種形狀圖象的元件)
為什麼說是個好東西了,大家看看下面的介紹就知道了
該元件有兩個版本,一個是註冊版本,一個是非註冊版本
非註冊版本功能:(雖然是非註冊的,但是可以一直使用下去的哦,這也是一個為什麼我大力推薦的原因之一)
1。可生成JPEG格式的圖形文件
2。可生成透明的GIF格式的圖形文件
3。可生成交錯的GIF格式的圖形文件
4。可以使用兩種方式保存圖形文件:一種是直接生成圖形文件
另外一種是保存到陣列(數組)中然後直接輸出到WWW頁面中
5。可以繪製文本圖形,並且支持安裝在你機器上的任何字體的文本
6。可以導出和預覽由OLE服務程序生成的文檔,例如MS Word,Excel等等。
7。可以使用位圖方式自由的縮放,鏡像,旋轉和剪切圖形
8。可使用本地圖形緩存
9。可以ZOOM圖片
10。可以獲取任何JPEG, GIF ,BMP格式文件的詳細信息
11。可以進行Windows抓屏
12。可生成動態GIF
非註冊版本的限制如下:
1。只能夠最多使用8種顏色,不過我認為對大多數人來說根本不算什麼限制的,呵呵
2。能夠生成的最大圖形尺寸為320x240
如果是註冊版本:
13。可在線修改現有的GIF, JPEG 和 BMP文件
14。可自定義調色板
15。可循環放映GIF動畫

例子程序:
VBScript的例子:

set obj=CreateObject("shotgraph.image")
size=201
obj.CreateImage size,size,4
obj.SetColor 0,255,255,255
obj.SetColor 1,0,0,0
obj.SetColor 2,255,108,0
obj.SetColor 3,0,0,204
obj.SetBgColor 0
obj.FillRect 0,0,size-1,size-1
obj.SetDrawColor 1
obj.Line size-1,0,0,size-1
obj.SetBgColor 2
obj.Ellipse 5,5,size-6,size-6
obj.SetBgColor 3
obj.Ellipse 5,(size-5)/4,size/2,(size-5)*3/4
obj.GifImage 0,1,"test.gif"
ASP的例子代碼:

Response.ContentType="image/gif"
set obj=Server.CreateObject("shotgraph.image")
size=201
obj.CreateImage size,size,4
obj.SetColor 0,255,255,255
obj.SetColor 1,0,0,0
obj.SetColor 2,255,108,0
obj.SetColor 3,0,0,204
obj.SetBgColor 0
obj.FillRect 0,0,size-1,size-1

obj.SetDrawColor 1
obj.Line size-1,0,0,size-1
obj.SetBgColor 2
obj.Ellipse 5,5,size-6,size-6
obj.SetBgColor 3
obj.Ellipse 5,(size-5)/4,size/2,(size-5)*3/4

img=obj.GifImage(0,1,"")
Response.BinaryWrite img

那麼如何畫動畫呢,步驟如下:
1.Create一個"shotgraph.image"對象
2.隨便畫點東西把,就看你的創意了
3.調用TrackAdd函數
4.重複2,3步知道你想要的禎數
5.如果想要重複放動畫,調用TrackLoop方法,不過只有註冊版本有此功能
6.調用TrackPlay方法生成這個動化文件
例子代碼如下:
set obj=CreateObject("shotgraph.image")
xsize=400
ysize=50

obj.CreateImage xsize,ysize,256
obj.InitClipboard xsize,ysize*2
obj.SelectClipboard True
obj.ReadImage "frame1.gif",pal1,0,0
obj.ReadImage "frame2.gif",pal2,0,ysize
obj.BuildPalette 0

obj.Copy 0,0,xsize,ysize,0,0,"SRCCOPY"
obj.TrackAdd -1,0,0,0,0,xsize,ysize,50
obj.Copy 0,0,xsize,ysize,0,ysize,"SRCCOPY"
obj.TrackAdd -1,0,0,0,0,xsize,ysize,50

obj.TrackLoop 0
obj.TrackPlay "frames12.gif"

怎麼畫文本文字呢,呵呵,過程如下:
使用時,請注意FontSmoothing這個屬性:
它是用來定義文字是否防鋸齒的。
0 - 使用系統內定設置
1 - 不防鋸齒
2 - 防鋸齒
代碼如下:

<%
Response.Contenttype="image/gif"
Set g=CreateObject("shotgraph.image")
g.CreateImage 320,200,16
g.SetColor 0,255,255,255
g.SetColor 1,0,0,0
g.SetBgColor 0
g.SetTextColor 1
g.FillRect 0,0,320,200
g.FontSmoothing=1
g.CreateFont "Arial",0,42,0,True,False,False,False
g.TextOut 0,30,"Non-Antialiased"
g.FontSmoothing=2
g.CreateFont "Arial",0,42,0,True,False,False,False
g.TextOut 0,120,"Antialiased"
g.BuildPalette 2
Response.BinaryWrite g.GifImage(-1,0,"")
%>

本篇文章發表於2001-04-14 00:00
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
目前尚無任何回覆
   

回覆
如要回應,請先登入.