网上有不少生成缩略图的ASP组件。若你的虚拟空间不支持注册新组件,可能会感觉自己的网站失色不少。心晴不才,结合网上资源写了个无组件生成缩略图程序,仅供参考。 还是先看看基础部分吧。首先,我们知道在页面中显示图片是如下代码: <img src="pic.gif" border="0" width="300" height="260"> src是图片路径,border控制图片边缘宽度,width是图片的长度,height是图片的高度。缩略图的生成其实就是在原始尺寸上缩放。但一般为了尽量少失真,我们都会按比例缩放。于是,获取图片的长宽尺寸也就成了生成缩略图的重点。 下面便是编写无组件生成缩略图的步骤: 1.无组件获取图片大小 以前刚学ASP不久时看到过一篇利用ASCII码实现无组件获取图片尺寸的文章。后来试了试,发现在获取jpg类图片尺寸时总是不能正确显示,在网上查了查,居然有不少网站转载这个程序,但没有一家指出此程序的缺陷,也就更谈不上解决缺陷的办法了。后来又google了一下,终于找到了一篇介绍利用ADODB.stream获取图片尺寸的文章,按其介绍的方法,修改里面的代码试了试,效果真的还不错,现在将其拿出来与大家分享: 利用ADODB.stream获取图片尺寸的通用类 <% '//////////// GPS:Get Picture Size ////////////// '//////////////利用ADODB.stream获取图片尺寸////////////// '/////////Cited By Leon(心晴) 2005年8月11日////////// Class GPS Dim aso Private Sub Class_Initialize Set aso=CreateObject("Adodb.Stream") aso.Mode=3 aso.Type=1 aso.Open End Sub Private Sub Class_Terminate set aso=nothing End Sub Private Function Bin2Str(Bin) Dim I, Str For I=1 to LenB(Bin) clow=MidB(Bin,I,1) if AscB(clow)<128 then Str = Str & Chr(ASCB(clow)) Else I=I+1 if I <= LenB(Bin) then Str = Str & Chr(ASCW(MidB(Bin,I,1)&clow)) end If Next Bin2Str = Str End Function Private Function Num2Str(num,base,lens) 'GPS (2005-8-11) dim ret |