繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> 组件开发 >> 一个用来画图的组件(画饼图,条形图,各种形状图象的组件)

一个用来画图的组件(画饼图,条形图,各种形状图象的组件)

2006-07-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:  为什么说是个好东西了,大家看看下面的介绍就知道了 该组件有两个版本,一个是注册版本,一个是非注册版本 非注册版本功能:(虽然是非注册的,但是可以一直使用下去的哦,这也是一个为 什么我大力推荐的原因...

  为什么说是个好东西了,大家看看下面的介绍就知道了

该组件有两个版本,一个是注册版本,一个是非注册版本

非注册版本功能:(虽然是非注册的,但是可以一直使用下去的哦,这也是一个为

什么我大力推荐的原因之一)

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,"")

%>

下载地址:

http://download.proxy.ru/mike/shotgraph/

http://www.geocities.com/SiliconValley/Foothills/9219/shotgraph/

--------------------------

以上摘自 www.Chinaasp.com

通过上面这篇文章,我们可以明白,关键是在输出数据之前,需要显输出一个文件类

型的定义.

这样浏览器就知道你送过来的不是文本而是图片,或其他的什么,比如声音,电影.

Response.Contenttype="image/gif" //输出文件类型

.....  //这里就可以替换成 读入硬盘图片文件二进制数据

Response.BinaryWrite g.GifImage(-1,0,"") //图片数据 就可换成写入你的二

进制数据

...

--------------------------

以上摘自 www.Chinaasp.com

通过上面这篇文章,我们可以明白,关键是在输出数据之前,需要显输出一个文件类

型的定义.

Response.Contenttype="image/gif" //文件类型

.....

Response.BinaryWrite g.GifImage(-1,0,"") //图片数据

这样浏览器就知道你送过来的不是文本而是图片,或其他的什么,比如声音,电影.。

责任编辑:admin
相关文章