ASP网页编程之利用AspImage制造图形(二)
减少客户内IT专业人才缺乏带来的影响。ASP的客户员工利用浏览器进入相关的应用软件,简单易用,无需专业技术支持。后面我们讲了怎样使用AspImage来制造柱图,柱图还好办,最少有关于长方形的函数,我们能够来借用,可是假如是,饼图怎样办?
有的伴侣不是说了,AspImage上不是有Pie的函数吗?是呀,它是有,可是它的谁人也太难用了。
豆腐没有举措,经由同事的匡助,使用我们高中进修的三角形公式(三角形公式?有无弄错?)
终究做出了如许的函数,并且利用起来十分的便利。人人请看
FunctionDrawPie(ArrNum,arrText)
函数功效:依据指定的数值和显现,他们均是数组
**********以下是变量界说**************************
dimintTotal以后
dimi
dimintSettledAngle
dimarrColor(6)
----------以下是代码入手下手--------------------------
设置色彩
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
以下入手下手对数据举行处置
起首失掉数目的总数
intTotal=0
fori=0toUBOUND(ArrNum)
intTotal=intTotal+ArrNum(i)
Next
SetImage=Server.CreateObject("AspImage.Image")
设定图像的地区巨细
Image.MaxX=300
Image.MaxY=300
天生渐进色
Image.GradientTwoWayrgb(41,137,204),vbWhite,0,1
处置角度
intSettledAngle=0
intRectStart=0
fori=0toubound(ArrNum)
intAngle=(arrNum(i)/intTotal)*360
一个一个的画扇区,终极分解一个完全的圆
setImage=DrawSinglePie(Image,360-intSettledAngle,arrColor(i))
在图像的最下方对图像内容举行形貌
Image.BackgroundColor=arrColor(i)
Image.RectangleintRectStart+10*(i+1),250,intRectStart+10*(i+1)+10,260
Image.TextOutarrText(i),intRectStart+10*(i+1)+10,245,false
在图像的最下方对图像内容举行形貌
Image.BackgroundColor=arrColor(i)
Image.RectangleintRectStart+10*(i+1),270,intRectStart+10*(i+1)+10,280
Image.TextOutcstr(intAngle)&"%",intRectStart+10*(i+1)+10,265,false
intRectStart=intRectStart+50
intSettledAngle=intSettledAngle+intAngle
next
Image.FileName=server.MapPath("http://edu.cnzz.cn/NewsInfo/test.jpg")
Image.SaveImage
setImage=nothing
Response.Write"<imgsrc=http://edu.cnzz.cn/NewsInfo/test.jpg>"
EndFunction
functionDrawSinglePie(Image,intAngle,intColor)
函数功效:依据指定的角度和色彩画一个矩形
**************以下是变量界说********************
constpi=3.1415926圆周率
dimpii经由180角转换后的圆周,弧度
dimx1,x2,x3,x44个X坐标
dimy1,y2,y3,y44个Y坐标
dimintR圆的半径,这个半径不是真实的圆的半径,可是能够用来流动圆心的地位
--------------以下是代码入手下手--------------------
**********************************
*
*(x1,y1),(x2,y2)和圆心必需在经由过程(0,0)的斜角45的直线上
***********************************
pii=pi/180
ifintAngle>360then
intAngle=intAngle-360
endif
x1=10
y2=10
x2=250
y2=250
intR=(x1+x2)/2
************************************
*
*以下使用三角形公式失掉响应Point的坐标
************************************
ifintAngle<135then
角度不敷135
angle=intAngle*pii
x3=tan(angle-45*pii)*intR+intR
y3=0
x4=0
y4=0
elseifintAngle=135then
x3=(intR)*2
y3=intR
x4=0
y4=0
elseifintAngle<315then
angle=intAngle*pii
intTemp=(intR/tan(angle-135*pii))-intR
x3=250+intTemp
y3=250
x4=0
y4=0
elseifintAngle=315then
x3=(-intR)*2
y3=intR
x4=0
y4=0
else
angle=intAngle*pii
x3=tan(angle-45*pii)*intR+intR
y3=0
x4=0
y4=0
endif
Image.BackgroundColor=intColor
Image.Piex1,y1,x2,y2,x3,y3,x4,y4
Image.TextOut360-intAngle,(125+x3)/2+20,(125+y3)/2+20,false
Image.TextOutintRatio,intPosX,intPosY,false
setDrawSinglePie=Image
endfunction
最初我们在使用drawPie中传送要显现的数据的数组就能够了。减少客户内IT专业人才缺乏带来的影响。ASP的客户员工利用浏览器进入相关的应用软件,简单易用,无需专业技术支持。 ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。 没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。 那么,ASP.Net有哪些改进呢? ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题: 我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。 我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题: 运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
页:
[1]