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

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

運用AspImage制作圖形(一)

運用AspImage制作圖形(一)

更新時間:2022-09-27 文章作者:未知 信息來源:網絡 閱讀次數:

/*
豆腐制作,都是精品
http://www.asp888.net 豆腐技術站
如轉載,請保留完整版權信息
*/

很久沒有給大家帶來新的文章了,最近豆腐忙于公司的業務,怠慢了各位朋友,在這里給大家先說一聲
對不起了,沒有辦法,豆腐也要生活呀。
aspImage是serverobjects站點上非常好的一個組件,它可以使我們利用Asp實現很多對于圖形的處理功能。
比如,豆腐在最近的項目中就需要對 費用進行統計,要畫 柱圖,餅圖,等等,都需要用到這個組件。
這個組件本身沒有內置柱圖的功能,我們需要自己做這樣的函數,還是老規矩,我們先來看看代碼吧。
Function DrawPillar(arrNum)
'這個函數的功能是 生成 一個 柱圖
'**************以下是變量定義********************
dim arrColor(13)
dim arrNum1()
dim i
dim intX
dim intY
'--------------以下是代碼開始--------------------
i=0
arrColor(i)=RGB(255,255,255)
i=i+1
arrColor(i)=RGB(255,255,0)
i=i+1
arrColor(i)=RGB(255,0,255)
i=i+1
arrColor(i)=RGB(0,255,255)
i=i+1
arrColor(i)=RGB(255,0,0)
i=i+1
arrColor(i)=RGB(0,255,0)
i=i+1
arrColor(i)=RGB(0,0,255)
i=i+1
arrColor(i)=RGB(255,255,255)
i=i+1
arrColor(i)=RGB(255,255,0)
i=i+1
arrColor(i)=RGB(255,0,255)
i=i+1
arrColor(i)=RGB(0,255,255)
i=i+1
arrColor(i)=RGB(255,0,0)
i=i+1
arrColor(i)=RGB(0,255,0)
i=i+1
arrColor(i)=RGB(0,0,255)
i=i+1

intMax=GetMaxY(arrNum)

Set Image = Server.CreateObject("AspImage.Image")
Image.MaxX=620
Image.MaxY=300

intRatio=(Image.MaxY-40)/intMax

Image.GradientTwoWay rgb(41,137,204),vbWhite ,0,1


'Image.BackgroundColor =vbBlue
'Image.FrameRect 15,15,Image.MaxX -15,Image.MaxY -15

'Y 軸
Image.X =40+2
Image.Y =15
Image.LineTo 40+2,Image.MaxY-20
Image.TextOut "↑",40-5,14,false
Image.TextOut "單位:元",15,0,false
for i=1 to 10
Image.TextOut "-" ,40,((Image.MaxY-40)/10)*i,false
'Image.TextOut cDBL((intMax/10))*(i),0,((Image.MaxY-40)/10)*(11-i),false
next

'X軸
Image.X =Image.MaxX-15
Image.Y =Image.MaxY-20
Image.LineTo 40,Image.MaxY-20

Image.TextOut ">",Image.MaxX-15-4 ,Image.MaxY-20-9,false
for i=1 to 12
Image.TextOut i & "月" ,40+ i * (30+15) -20 ,Image.MaxY-20,false
next

if intMax=0 then
intMax=1
end if

'一年有12個月,產生 12個 顏色
intX=40

for i=0 to 11
Image.BackgroundColor = arrColor(i)
Image.Rectangle intX+20,Image.MaxY -20 , intX+50, Image.MaxY -20 - arrNum(i)*intRatio
Image.TextOut arrNum(i),intX+20, Image.MaxY -32 - arrNum(i)*intRatio , false
intX=intX+ 30 +15
next
Image.FileName=server.MapPath("http://www.okasp.com/techinfo/test.jpg")
Image.SaveImage

set Image=nothing
Response.Write "<img src=http://www.okasp.com/techinfo/test.jpg>"
End Function

function GetMaxY(arrNum)
'這個函數的功能是 得到數組中最大 的數字
'***************以下是變量定義************
dim i
dim intMax '寄存器
'---------------以下是代碼開始------------
intMax=0
for i=0 to UBOUND(arrNum)
if cDbl(intMax)< cDBL(arrNum(i)) then
intMax=arrNum(i)
end if
Next

GetMaxY=intMax
End Function

我們通過代碼Set Image = Server.CreateObject("AspImage.Image")得到一個AspImage的實例,現在
我們就可以利用AspImage提供給我們的動人功能了。
Image.MaxX=620
Image.MaxY=300
我們可以設定我們需要畫的圖形的區域。
Image.GradientTwoWay rgb(41,137,204),vbWhite ,0,1
這是一個非常非常好的方法,我們可以給這個圖片的背靜添加一個漸進填充的顏色。

'Y 軸
Image.X =40+2
Image.Y =15
Image.LineTo 40+2,Image.MaxY-20
Image.TextOut "↑",40-5,14,false
Image.TextOut "單位:元",15,0,false
for i=1 to 10
Image.TextOut "-" ,40,((Image.MaxY-40)/10)*i,false
next

這段代碼是一個畫 Y 軸的代碼,不要小看這個"↑",豆腐花了很長的時間才搞定的。:)
'X軸
Image.X =Image.MaxX-15
Image.Y =Image.MaxY-20
Image.LineTo 40,Image.MaxY-20

Image.TextOut ">",Image.MaxX-15-4 ,Image.MaxY-20-9,false
X軸相對來說就簡單多了。

'一年有12個月,產生 12個 顏色
intX=40

for i=0 to 11
Image.BackgroundColor = arrColor(i)
Image.Rectangle intX+20,Image.MaxY -20 , intX+50, Image.MaxY -20 - arrNum(i)*intRatio
Image.TextOut arrNum(i),intX+20, Image.MaxY -32 - arrNum(i)*intRatio , false
intX=intX+ 30 +15
next
這端代碼是最終生成柱圖的代碼,具體我就不解釋了。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 乡城县| 金乡县| 东港市| 鹿泉市| 庐江县| 鄱阳县| 称多县| 常宁市| 望城县| 宿迁市| 壶关县| 灵台县| 银川市| 平乐县| 海安县| 无极县| 东乡县| 阿瓦提县| 盐津县| 兰考县| 阿图什市| 昔阳县| 登封市| 卓尼县| 鄂尔多斯市| 松江区| 青岛市| 施秉县| 双峰县| 昭平县| 新和县| 昌平区| 峨边| 中牟县| 和林格尔县| 淮南市| 集贤县| 香港| 尼木县| 石棉县| 始兴县|