当前位置: 网学 > 编程文档 > ASP > 正文

无组件生成缩略图

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/06/17
(abs(Str2Num(mid(sConv,3*nBits+1,nBits),2)-Str2Num(mid(sConv,2*nBits+1,nBits),2))/20)
case "FFD8FF":
do
do: p1=binVal(aso.Read(1)): loop while p1=255 and not aso.EOS
if p1>191 and p1<196 then exit do else aso.read(binval2(aso.Read(2))-2)
do:p1=binVal(aso.Read(1)):loop while p1<255 and not aso.EOS
loop while true
aso.Read(3)
ret(0)="JPG"
ret(2)=binval2(aso.Read(2))
ret(1)=binval2(aso.Read(2))
case else:
if left(Bin2Str(bFlag),2)="BM" then
aso.Read(15)
ret(0)="BMP"
ret(1)=binval(aso.Read(4))
ret(2)=binval(aso.Read(4))
else
ret(0)=""
end if
end select
ret(3)="width=""" & ret(1) &""" height=""" & ret(2) &""""
getimagesize=ret
End Function
End Class
%>

将以上代码复制生成GPS.asp文件,这样无组件获取图片尺寸的通用类就OK了。



2.获取图片路径

由于不只一张图片,以及图片需分类存放,我们在数据库中设计了一个存放图片相对路径的字段ImgURL。我们把上传的图片都放在一个名为images的文件夹中(至于如何无组件上传图片心晴就不在多说了)。现在我们先设计一个ShowImg.asp页面用来显示缩略图及相关信息。具体设计如下:

图片:

图片格式:

图片尺寸:

图片大小:

点击次数:


下面,我们获取图片的绝对路径。代码如下:

<%
''/////获取ShowImg.asp的绝对路径/////
Dim curFile
curFile=Server.mappath(Request.servervariables("PATH_INFO"))

Dim curfilename,filename

''/////图片相对路径(存于数据库中)
cufilename=rs("ImgURL")
''/////因为ShowImg.asp与images在同一目录,所以我们用instrrev获取images的路径/////
filename=left(curFile,instrrev(curFile,"\"))&cufilename

''/////建立GPS类实体/////
Dim GetPicSize
Set GetPicSize=new GPS

Set fs=Server.CreateObject("Scripting.FileSystemObject")
''/////获取图片类型/////
Dim PicSuffixName
PicSuffixName=fs.GetExtensionName(filename)

Dim PD ''//Picture Dimension
Dim PWidth,PHeight

Select Case PicSuffixName
Case "gif","bmp","jpg","png":
''/////调用GPS通用类中的GetImageSize函数获取图片尺寸/////
PD=GetPicSize.GetImageSize(filename)
PWidth=PD(1) ''//获取图片宽度
PHeight=PD(2) ''//获取图片高度
Case "swf"
PD=GetPicSize.GetImageSize(filename)
PWidth=PD(1) ''//获取Flash宽度
PHeight=PD(2) ''//获取Flash高度
Case Else
End Select

Set fs=Nothing
Set GetPicSize=Nothing
%>



将上面的代码复制到<body>的上面就OK了!

当然,有人会说,获取路径不一定要用PATH_INFO,直接用server.mappath()不就可以了嘛,呵呵,萝卜青菜各有所爱,主要是我用PATH_INFO可以实现FSO的一些功能而用server.mappath()没有搞定,所以一直使用这个。

3.定义缩略图尺寸
这部分代码就是仁者见仁,智者见智了。首先,我们需要规定缩略图显示尺寸范围,譬如:300X260,代码可以这样写:
<%
Dim PXWidth,PXHeight
Dim Pp ''//Proportion
If PWidth=0 Or PWidth="" Then
PXWidth=0
PXHeight=0
Else
Pp=FormatNumber(PWidth/PHeight,2) ''//长宽比
End If
If PWidth>=PHeight Then
If PWidth>=300 Then
PXWidth=300
PXHeight=FormatNumber(300/Pp,0)
Else
PXWidth=PWidth
PXHeight=PHeight
End If
Else
If PHeight>=260 Then
PXHeight=260
PXWidth=FormatNumber(260*Pp,0)
Else
PXWidth=PWidth
PXHeight=PHeight
End If
End If
%>
将上面的代码紧接第二步写下即可。调用时代码如下:
<img src=<%=curfilename%> border="0" width=<%=PXWidth%> height
  • 上一篇资讯: 多附件上传组件演示
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号