帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > ASP编程
一个用来画图的组件(画饼图,条形图,各种形状图象的组件)
作者: 发布时间:2005-03-12 来源:
为什么说是个好东西了,大家看看下面的介绍就知道了
该组件有两个版本,一个是注册版本,一个是非注册版本
非注册版本功能:(虽然是非注册的,但是可以一直使用下去的哦,这也是一个为

什么我大力推荐的原因之一)
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,"") //图片数据

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

  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·asp中的一个奇怪的函数  (2005-03-12)
 ·生成一个不重复的随即数字  (2005-03-12)
 ·一个把数字转英文的实用程序  (2005-03-12)
 ·一个得到在两个日期之间的休息日  (2005-03-12)
 ·一个用c#写的扫描asp源码漏洞的应  (2005-03-12)
 ·一个用c#写的扫描asp源码漏洞的应  (2005-03-12)
 ·SQL脚本执行的一个奇怪现象  (2005-03-12)
 ·游标操作时进行Update应注意的一  (2005-03-12)
 ·一个不太让人讨厌的自动弹出窗口  (2005-03-12)
 ·一个非常精彩的日历程序  (2005-03-12)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·在ASP中使用数据库
·使用ASP脚本技术
·通过启动脚本来感受ASP的力量
·学习使用ASP对象和组件
·解析asp的脚本语言
·初看ASP-针对初学者
·ASP开发10条经验总结
·ASP之对象总结
·ASP与数据库应用(给初学者)
·关于学习ASP和编程的28个观点
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统