asp无组件生成缩略图

上传人:cjc****537 文档编号:46207429 上传时间:2018-06-23 格式:DOC 页数:6 大小:20KB
返回 下载 相关 举报
asp无组件生成缩略图_第1页
第1页 / 共6页
asp无组件生成缩略图_第2页
第2页 / 共6页
asp无组件生成缩略图_第3页
第3页 / 共6页
asp无组件生成缩略图_第4页
第4页 / 共6页
asp无组件生成缩略图_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《asp无组件生成缩略图》由会员分享,可在线阅读,更多相关《asp无组件生成缩略图(6页珍藏版)》请在金锄头文库上搜索。

1、很多客户咨询说网上有不少生成缩略图的 ASP 组件,若您使用的是虚拟空间不支持注册第三方组件组件,可能会感觉自己的网站失色不少。我们结合网上资源写了个无组件生成缩略图程序,仅供参考。还是先看看基础部分吧。首先,我们知道在页面中显示图片是如下代码:src 是图片路径,border 控制图片边缘宽度,width 是图片的长度,height 是图片的高度。缩略图的生成其实就是在原始尺寸上缩放。但一般为了尽量少失真,我们都会按比例缩放。于是,获取图片的长宽尺寸也就成了生成缩略图的重点。下面便是编写无组件生成缩略图的步骤:1.无组件获取图片大小利用 ADODB.stream 获取图片尺寸的通用类 =ba

2、se)ret = (num mod base) & retnum = (num - num mod base)/basewendNum2Str = right(string(lens,“0“) & num & ret,lens)End FunctionPrivate Function Str2Num(str,base)GPS (2005-8-11)dim retret = 0for i=1 to len(str)ret = ret *base + cint(mid(str,i,1)nextStr2Num=retEnd FunctionPrivate Function BinVal(bin)GP

3、S (2002-8-11)dim retret = 0for i = lenb(bin) to 1 step -1ret = ret *256 + ascb(midb(bin,i,1)nextBinVal=retEnd FunctionPrivate Function BinVal2(bin)GPS (2002-8-11)dim retret = 0for i = 1 to lenb(bin)ret = ret *256 + ascb(midb(bin,i,1)nextBinVal2=retEnd Function/以下是调用代码/Function getImageSize(filespec)

4、 GPS (2002-8-11)dim ret(3)aso.LoadFromFile(filespec)bFlag=aso.read(3)select case hex(binVal(bFlag)case “4E5089“:aso.read(15)ret(0)=“PNG“ret(1)=BinVal2(aso.read(2)aso.read(2)ret(2)=BinVal2(aso.read(2)case “464947“:aso.read(3)ret(0)=“GIF“ret(1)=BinVal(aso.read(2)ret(2)=BinVal(aso.read(2)case “535746“:

5、aso.read(5)binData=aso.Read(1)sConv=Num2Str(ascb(binData),2 ,8)nBits=Str2Num(left(sConv,5),2)sConv=mid(sConv,6)while(len(sConv)191 and p1将以上代码复制生成 GPS.asp 文件,这样无组件获取图片尺寸的通用类就 OK 了。2.获取图片路径由于不只一张图片,以及图片需分类存放,我们在数据库中设计了一个存放图片相对路径的字段ImgURL。我们把上传的图片都放在一个名为 images 的文件夹中(至于如何无组件上传图片心晴就不在多说了)。现在我们先设计一个 Sho

6、wImg.asp 页面用来显示缩略图及相关信息。具体设计如下:图片,图片格式,图片尺寸,图片大小,点击次数。下面,我们获取图片的绝对路径。代码如下:将上面的代码复制到的上面就 OK 了!当然,有人会说,获取路径不一定要用 PATH_INFO,直接用 server.mappath()不就可以了嘛,呵呵,萝卜青菜各有所爱,主要是我用 PATH_INFO 可以实现 FSO 的一些功能而用 server.mappath()没有搞定,所以一直使用这个。3.定义缩略图尺寸这部分代码就是仁者见仁,智者见智了。首先,我们需要规定缩略图显示尺寸范围,譬如:300X260,代码可以这样写:=PHeight The

7、nIf PWidth=300 ThenPXWidth=300PXHeight=FormatNumber(300/Pp,0)ElsePXWidth=PWidthPXHeight=PHeightEnd IfElseIf PHeight=260 ThenPXHeight=260PXWidth=FormatNumber(260*Pp,0)ElsePXWidth=PWidthPXHeight=PHeightEnd IfEnd If%将上面的代码紧接第二步写下即可。调用时代码如下:border=“0“ width= height=至于图片格式可以用得到,图片尺寸可以写成图片大小可以用 FSO.GetFileSize(filename)来实现,而点击次数可以简单地用 SQL 语句实现,具体编码就不再累述了。这样,一个无组件生成缩略图程序就写好了。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 经济/贸易/财会 > 经济学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号