好东西大家分享:一个用来画图的组件(画饼图,条形图,各种形状图象的组件)
东西是好,可惜我没地方放这个组件,哎。
为什么说是个好东西了,大家看看下面的介绍就知道了该组件有两个版本,一个是注册版本,一个是非注册版本非注
册版本功能:(虽然是非注册的,但是可以一直使用下去的哦,这也是一个为什么我大力推荐的原因之一)
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)。能够生成的最大图形尺寸为320×240如果是注册版本:
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,"")
%>
下载地址:
http://download.proxy.ru/mike/shotgraph/
http://www.geocities.com/siliconvalley/foothills/9219/shotgraph/
