最新更新 sitemap 网站制作设计本站搜索
网页设计
国外网站 韩国网站 个人主页 手提袋设计 CSS 网页特效 平面设计 网站设计 Flash CMS技巧 服装网站 php教程 photoshop 画册 服务器选用 数据库 Office
虚拟主机 域名注册 云主机 网页设计 客服QQ:8208442
当前位置:首页 > 编程开发 > asp教程

用AspJpeg组件真正生成缩略图技巧

日期:12-07    来源:中国设计秀    作者:cnwebshow.com

在网站前台产品展示时,一般用缩略图,点击进入然后看到大图。OSP中国设计秀
缩略图带来了两个烦劳:OSP中国设计秀
1.如果后台只传一张大图,显示缩略图时只是将大图固定宽度和高度,这样不但造成缩略图变形,而且使得页面访问速度缓慢。OSP中国设计秀
2.如果后台每次上传时,都上传两张图片,一张大图,一张缩略图。这样的话,没有1中的问题,但是给后台人员造成很大麻烦。因为后台人员并不一定知道处理生成缩略图;即使知道并能快速处理,也浪费掉一些时间。OSP中国设计秀

下面的代码可以帮您用aspJpeg组件,按宽高比例,真正生成缩略图OSP中国设计秀
AspJpeg组件下载:http://www.aspjpeg.com/download.htmlOSP中国设计秀
AspJpeg组件使用:http://www.mydw.cn/tech/1/766.htmlOSP中国设计秀
注册码:48958-77556-02411OSP中国设计秀

 OSP中国设计秀

<%OSP中国设计秀
Dim sOriginalPathOSP中国设计秀
sOriginalPath = "images/1.gif"OSP中国设计秀
'原图片路径一般上传完毕后获取,或者从数据库获取OSP中国设计秀

Dim sReturnInfo, sSmallPath '函数返回信息, 缩略图路径OSP中国设计秀
sReturnInfo = BuildSmallPic(sOriginalPath, "images", 100, 100)OSP中国设计秀

Response.Write "返回信息:" & sReturnInfo & "<br/>"OSP中国设计秀
If InStr(sReturnInfo, "Error_") <= 0 ThenOSP中国设计秀
    sSmallPath = sReturnInfo '返回信息就是 OSP中国设计秀
    '将sSmallPath写入数据库OSP中国设计秀
    'OSP中国设计秀
ElseOSP中国设计秀
    Response.Write "详细错误:" OSP中国设计秀
    Select Case sReturnInfoOSP中国设计秀
    Case "Error_01"OSP中国设计秀
        Response.Write "<font color='red'>创建AspJpeg组件失败,没有正确安装注册该组件</font>" & "<br/>"OSP中国设计秀
    Case "Error_02"OSP中国设计秀
        Response.Write "<font color='red'>原图片不存在,检查s_OriginalPath参数传入值</font>" & "<br/>"OSP中国设计秀
    Case "Error_03"    OSP中国设计秀
        Response.Write "<font color='red'>缩略图存盘失败.可能原因:缩略图保存基地址不存在,检查s_OriginalPath参数传入值;对目录没有写权限;磁盘空间不足</font>" & "<br/>"OSP中国设计秀
    Case "Error_Other"OSP中国设计秀
        Response.Write "<font color='red'>未知错误</font>" & "<br/>"OSP中国设计秀
    End SelectOSP中国设计秀
    Response.EndOSP中国设计秀
End IfOSP中国设计秀

%>OSP中国设计秀
原文件名:<%=sOriginalPath%><br/>OSP中国设计秀
缩略图文件名:<%=sSmallPath%><br/>OSP中国设计秀
原图片:<img src='<%=sOriginalPath%>' border=0><br/><br/>OSP中国设计秀
缩略图:<img src='<%=sSmallPath%>' border=0>OSP中国设计秀

OSP中国设计秀
<%OSP中国设计秀
'================================================================OSP中国设计秀
'Author:laifangsong QQ:25313644OSP中国设计秀
'功能:按照指定图片生成缩略图OSP中国设计秀
'注意:以下提到的“路径”都是值相对于调用本函数的文件的相对路径OSP中国设计秀
'参数:OSP中国设计秀
'    s_OriginalPath:        原图片路径 例:images/image1.gifOSP中国设计秀
'    s_BuildBasePath:    生成图片的基路径,不论是否以“/”结尾均可 例:images或images/OSP中国设计秀
'    n_MaxWidth:            生成图片最大宽度OSP中国设计秀
'                        如果在前台显示的缩略图是 100*100,这里 n_MaxWidth=100,n_MaxHeight=100.OSP中国设计秀
'    n_MaxHeight:        生成图片最大高度OSP中国设计秀
'返回值:OSP中国设计秀
'    返回生成后的缩略图的路径OSP中国设计秀
'错误处理:OSP中国设计秀
'    如果函数执行过程中出现错误,将返回错误代码,错误代码以 “Error”开头OSP中国设计秀
'        Error_01:创建AspJpeg组件失败,没有正确安装注册该组件OSP中国设计秀
'        Error_02:原图片不存在,检查s_OriginalPath参数传入值OSP中国设计秀
'        Error_03:缩略图存盘失败.可能原因:缩略图保存基地址不存在,检查s_OriginalPath参数传入值;对目录没有写权限;磁盘空间不足OSP中国设计秀
'        Error_Other:未知错误OSP中国设计秀
'调用例子:OSP中国设计秀
'    Dim sSmallPath '缩略图路径OSP中国设计秀
'    sSmallPath = BuildSmallPic("images/image1.gif", "images", 100, 100)    OSP中国设计秀
'================================================================OSP中国设计秀
Function BuildSmallPic(s_OriginalPath, s_BuildBasePath, n_MaxWidth, n_MaxHeight)OSP中国设计秀
    Err.ClearOSP中国设计秀
    On Error Resume NextOSP中国设计秀
    OSP中国设计秀
    '检查组件是否已经注册OSP中国设计秀
    Dim AspJpegOSP中国设计秀
    Set AspJpeg = Server.Createobject("Persits.Jpeg")OSP中国设计秀
    If Err.Number <> 0 ThenOSP中国设计秀
        Err.ClearOSP中国设计秀
        BuildSmallPic = "Error_01"OSP中国设计秀
        Exit FunctionOSP中国设计秀
    End IfOSP中国设计秀

    '检查原图片是否存在OSP中国设计秀
    Dim s_MapOriginalPathOSP中国设计秀
    s_MapOriginalPath = Server.MapPath(s_OriginalPath)OSP中国设计秀
    AspJpeg.Open s_MapOriginalPath '打开原图片OSP中国设计秀
    If Err.Number <> 0 ThenOSP中国设计秀
        Err.ClearOSP中国设计秀
        BuildSmallPic = "Error_02"OSP中国设计秀
        Exit FunctionOSP中国设计秀
    End IfOSP中国设计秀

    '按比例取得缩略图宽度和高度OSP中国设计秀
    Dim n_OriginalWidth, n_OriginalHeight '原图片宽度、高度OSP中国设计秀
    Dim n_BuildWidth, n_BuildHeight '缩略图宽度、高度OSP中国设计秀
    Dim div1, div2OSP中国设计秀
    Dim n1, n2OSP中国设计秀
    n_OriginalWidth = AspJpeg.WidthOSP中国设计秀
    n_OriginalHeight = AspJpeg.HeightOSP中国设计秀
    div1 = n_OriginalWidth / n_OriginalHeightOSP中国设计秀
    div2 = n_OriginalHeight / n_OriginalWidthOSP中国设计秀
    n1 = 0OSP中国设计秀
    n2 = 0OSP中国设计秀
    If n_OriginalWidth > n_MaxWidth ThenOSP中国设计秀
        n1 = n_OriginalWidth / n_MaxWidthOSP中国设计秀
    ElseOSP中国设计秀
        n_BuildWidth = n_OriginalWidthOSP中国设计秀
    End IfOSP中国设计秀
    If n_OriginalHeight > n_MaxHeight ThenOSP中国设计秀
        n2 = n_OriginalHeight / n_MaxHeightOSP中国设计秀
    ElseOSP中国设计秀
        n_BuildHeight = n_OriginalHeightOSP中国设计秀
    End IfOSP中国设计秀
    If n1 <> 0 Or n2 <> 0 ThenOSP中国设计秀
        If n1 > n2 ThenOSP中国设计秀
            n_BuildWidth = n_MaxWidthOSP中国设计秀
            n_BuildHeight = n_MaxWidth * div2OSP中国设计秀
        ElseOSP中国设计秀
            n_BuildWidth = n_MaxHeight * div1OSP中国设计秀
            n_BuildHeight = n_MaxHeightOSP中国设计秀
        End IfOSP中国设计秀
    End IfOSP中国设计秀

    '指定宽度和高度生成OSP中国设计秀
    AspJpeg.Width = n_BuildWidthOSP中国设计秀
    AspJpeg.Height = n_BuildHeightOSP中国设计秀
    OSP中国设计秀
    '--将缩略图存盘开始--OSP中国设计秀
    Dim pos, s_OriginalFileName, s_OriginalFileExt '位置、原文件名、原文件扩展名OSP中国设计秀
    pos = InStrRev(s_OriginalPath, "/") + 1OSP中国设计秀
    s_OriginalFileName = Mid(s_OriginalPath, pos)OSP中国设计秀
    pos = InStrRev(s_OriginalFileName, ".")OSP中国设计秀
    s_OriginalFileExt = Mid(s_OriginalFileName, pos)OSP中国设计秀

    Dim s_MapBuildBasePath, s_MapBuildPath, s_BuildFileName '缩略图绝对路径、缩略图文件名OSP中国设计秀
    Dim s_EndFlag '小图片文件名结尾标识 例: 如果大图片文件名是“image1.gif”,结尾标识是“_small”,那么小图片文件名就是“image1_small.gif”OSP中国设计秀
    If Right(s_BuildBasePath, 1) <> "/" Then s_BuildBasePath = s_BuildBasePath & "/"OSP中国设计秀
    s_MapBuildBasePath = Server.MapPath(s_BuildBasePath)OSP中国设计秀
    s_EndFlag = "_small" '可以自定义,只要能区别大小图片即可OSP中国设计秀
    s_BuildFileName = Replace(s_OriginalFileName, s_OriginalFileExt, "") & s_EndFlag & s_OriginalFileExtOSP中国设计秀
    s_MapBuildPath = s_MapBuildBasePath & "" & s_BuildFileNameOSP中国设计秀
    OSP中国设计秀
    AspJpeg.Save s_MapBuildPath '保存OSP中国设计秀
    If Err.Number <> 0 ThenOSP中国设计秀
        Err.ClearOSP中国设计秀
        BuildSmallPic = "Error_03"OSP中国设计秀
        Exit FunctionOSP中国设计秀
    End IfOSP中国设计秀
    '--将缩略图存盘结束--OSP中国设计秀

    '注销实例OSP中国设计秀
    Set AspJpeg = NothingOSP中国设计秀
    If Err.Number <> 0 ThenOSP中国设计秀
        BuildSmallPic = "Error_Other"OSP中国设计秀
        Err.ClearOSP中国设计秀
    End IfOSP中国设计秀
    BuildSmallPic = s_BuildBasePath & s_BuildFileNameOSP中国设计秀
End FunctionOSP中国设计秀

%>OSP中国设计秀

本文引用地址:/bc/article_46458.html
网站地图 | 关于我们 | 联系我们 | 网站建设 | 广告服务 | 版权声明 | 免责声明