在网站前台产品展示时,一般用缩略图,点击进入然后看到大图。 下面的代码可以帮您用AspJpeg组件,按宽高比例,真正生成缩略图 <% Dim sReturnInfo, sSmallPath 函数返回信息, 缩略图路径 Response.Write “返回信息:” & sReturnInfo & “<br/>” %> 检查原图片是否存在 按比例取得缩略图宽度和高度 指定宽度和高度生成 Dim s_MapBuildBasePath, s_MapBuildPath, s_BuildFileName 缩略图绝对路径、缩略图文件名 注销实例 %>
缩略图带来了两个烦劳:
1.如果后台只传一张大图,显示缩略图时只是将大图固定宽度和高度,这样不但造成缩略图变形,而且使得页面访问速度缓慢。
2.如果后台每次上传时,都上传两张图片,一张大图,一张缩略图。这样的话,没有1中的问题,但是给后台人员造成很大麻烦。因为后台人员并不一定知道处理生成缩略图;即使知道并能快速处理,也浪费掉一些时间。
AspJpeg组件下载:http://www.aspjpeg.com/download.html
AspJpeg组件使用:http://www.mydw.cn/tech/1/766.html
注册码:48958-77556-02411
Dim sOriginalPath
sOriginalPath = “images/1.gif”
原图片路径一般上传完毕后获取,或者从数据库获取
sReturnInfo = BuildSmallPic(sOriginalPath, “images”, 100, 100)
If InStr(sReturnInfo, “Error_”) <= 0 Then
sSmallPath = sReturnInfo 返回信息就是
将sSmallPath写入数据库
Else
Response.Write “详细错误:”
Select Case sReturnInfo
Case “Error_01”
Response.Write “<font color=red>创建AspJpeg组件失败,没有正确安装注册该组件</font>” & “<br/>”
Case “Error_02”
Response.Write “<font color=red>原图片不存在,检查s_OriginalPath参数传入值</font>” & “<br/>”
Case “Error_03”
Response.Write “<font color=red>缩略图存盘失败.可能原因:缩略图保存基地址不存在,检查s_OriginalPath参数传入值;对目录没有写权限;磁盘空间不足</font>” & “<br/>”
Case “Error_Other”
Response.Write “<font color=red>未知错误</font>” & “<br/>”
End Select
Response.End
End If
原文件名:<%=sOriginalPath%><br/>
缩略图文件名:<%=sSmallPath%><br/>
原图片:<img src=<%=sOriginalPath%> border=0><br/><br/>
缩略图:<img src=<%=sSmallPath%> border=0>
<%
================================================================
Author:laifangsong QQ:25313644
功能:按照指定图片生成缩略图
注意:以下提到的“路径”都是值相对于调用本函数的文件的相对路径
参数:
s_OriginalPath: 原图片路径 例:images/image1.gif
s_BuildBasePath: 生成图片的基路径,不论是否以“/”结尾均可 例:images或images/
n_MaxWidth: 生成图片最大宽度
如果在前台显示的缩略图是 100*100,这里 n_MaxWidth=100,n_MaxHeight=100.
n_MaxHeight: 生成图片最大高度
返回值:
返回生成后的缩略图的路径
错误处理:
如果函数执行过程中出现错误,将返回错误代码,错误代码以 “Error”开头
Error_01:创建AspJpeg组件失败,没有正确安装注册该组件
Error_02:原图片不存在,检查s_OriginalPath参数传入值
Error_03:缩略图存盘失败.可能原因:缩略图保存基地址不存在,检查s_OriginalPath参数传入值;对目录没有写权限;磁盘空间不足
Error_Other:未知错误
调用例子:
Dim sSmallPath 缩略图路径
sSmallPath = BuildSmallPic(“images/image1.gif”, “images”, 100, 100)
================================================================
Function BuildSmallPic(s_OriginalPath, s_BuildBasePath, n_MaxWidth, n_MaxHeight)
Err.Clear
On Error Resume Next
检查组件是否已经注册
Dim AspJpeg
Set AspJpeg = Server.Createobject(“Persits.Jpeg”)
If Err.Number <> 0 Then
Err.Clear
BuildSmallPic = “Error_01”
Exit Function
End If
Dim s_MapOriginalPath
s_MapOriginalPath = Server.MapPath(s_OriginalPath)
AspJpeg.Open s_MapOriginalPath 打开原图片
If Err.Number <> 0 Then
Err.Clear
BuildSmallPic = “Error_02”
Exit Function
End If
Dim n_OriginalWidth, n_OriginalHeight 原图片宽度、高度
Dim n_BuildWidth, n_BuildHeight 缩略图宽度、高度
Dim div1, div2
Dim n1, n2
n_OriginalWidth = AspJpeg.Width
n_OriginalHeight = AspJpeg.Height
div1 = n_OriginalWidth / n_OriginalHeight
div2 = n_OriginalHeight / n_OriginalWidth
n1 = 0
n2 = 0
If n_OriginalWidth > n_MaxWidth Then
n1 = n_OriginalWidth / n_MaxWidth
Else
n_BuildWidth = n_OriginalWidth
End If
If n_OriginalHeight > n_MaxHeight Then
n2 = n_OriginalHeight / n_MaxHeight
Else
n_BuildHeight = n_OriginalHeight
End If
If n1 <> 0 Or n2 <> 0 Then
If n1 > n2 Then
n_BuildWidth = n_MaxWidth
n_BuildHeight = n_MaxWidth * div2
Else
n_BuildWidth = n_MaxHeight * div1
n_BuildHeight = n_MaxHeight
End If
End If
AspJpeg.Width = n_BuildWidth
AspJpeg.Height = n_BuildHeight
–将缩略图存盘开始–
Dim pos, s_OriginalFileName, s_OriginalFileExt 位置、原文件名、原文件扩展名
pos = InStrRev(s_OriginalPath, “/”) + 1
s_OriginalFileName = Mid(s_OriginalPath, pos)
pos = InStrRev(s_OriginalFileName, “.”)
s_OriginalFileExt = Mid(s_OriginalFileName, pos)
Dim s_EndFlag 小图片文件名结尾标识 例: 如果大图片文件名是“image1.gif”,结尾标识是“_small”,那么小图片文件名就是“image1_small.gif”
If Right(s_BuildBasePath, 1) <> “/” Then s_BuildBasePath = s_BuildBasePath & “/”
s_MapBuildBasePath = Server.MapPath(s_BuildBasePath)
s_EndFlag = “_small” 可以自定义,只要能区别大小图片即可
s_BuildFileName = Replace(s_OriginalFileName, s_OriginalFileExt, “”) & s_EndFlag & s_OriginalFileExt
s_MapBuildPath = s_MapBuildBasePath & “\” & s_BuildFileName
AspJpeg.Save s_MapBuildPath 保存
If Err.Number <> 0 Then
Err.Clear
BuildSmallPic = “Error_03”
Exit Function
End If
–将缩略图存盘结束–
Set AspJpeg = Nothing
If Err.Number <> 0 Then
BuildSmallPic = “Error_Other”
Err.Clear
End If
BuildSmallPic = s_BuildBasePath & s_BuildFileName
End Function
用aspjpeg组件,按宽高比例,真正生成缩略图 _asp技巧
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 用aspjpeg组件,按宽高比例,真正生成缩略图 _asp技巧
相关推荐
-      ASP基础教程:其它的ASP常用组件
-      ASP基础教程:学习ASP中子程序的应用
-      ASP基础教程之ASP程序对Cookie的处理
-      ASP基础教程之ASP AdRotator组件的使用
-      ADO初学者教程:ADO 通过GetString()加速脚本
-      ASP技巧实例:几行代码解决防止表单重复提交
-      ASP常见数学函数 Abs Atn Cos 等详细详解[ 来源:网页教学网 | 作者: | 时间:2007-09-12 10:57:29 | 收藏本文 ] 【大 中 小】【名称】
-      ASP基础教程之ASP AdRotator 组件的使用