西安做网站用AspJpeg组件,按宽高比例,真正生成缩略图

15072013-12-07

<%

西安做网站用AspJpeg组件,按宽高比例,真正生成缩略图
'================================================================
'功能:按照指定图片生成缩略图
'注意:以下提到的“路径”都是值相对于调用本函数的文件的相对路径
'参数:
' 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.ClearOn Error Resume Next'检查组件是否已经注册Dim AspJpegSet AspJpeg = Server.Createobject("Persits.Jpeg")If Err.Number <> 0 ThenErr.ClearBuildSmallPic = "Error_01"Exit FunctionEnd If

'检查原图片是否存在Dim s_MapOriginalPaths_MapOriginalPath = Server.MapPath(s_OriginalPath)AspJpeg.Open s_MapOriginalPath '打开原图片If Err.Number <> 0 ThenErr.ClearBuildSmallPic = "Error_02"Exit FunctionEnd If

'按比例取得缩略图宽度和高度Dim n_OriginalWidth, n_OriginalHeight '原图片宽度、高度Dim n_BuildWidth, n_BuildHeight '缩略图宽度、高度Dim div1, div2Dim n1, n2n_OriginalWidth = AspJpeg.Widthn_OriginalHeight = AspJpeg.Heightdiv1 = n_OriginalWidth / n_OriginalHeightdiv2 = n_OriginalHeight / n_OriginalWidthn1 = 0n2 = 0If n_OriginalWidth > n_MaxWidth Thenn1 = n_OriginalWidth / n_MaxWidthElsen_BuildWidth = n_OriginalWidthEnd IfIf n_OriginalHeight > n_MaxHeight Thenn2 = n_OriginalHeight / n_MaxHeightElsen_BuildHeight = n_OriginalHeightEnd IfIf n1 <> 0 Or n2 <> 0 ThenIf n1 > n2 Thenn_BuildWidth = n_MaxWidthn_BuildHeight = n_MaxWidth * div2Elsen_BuildWidth = n_MaxHeight * div1n_BuildHeight = n_MaxHeightEnd IfEnd If

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

Dim s_MapBuildBasePath, s_MapBuildPath, s_BuildFileName '缩略图绝对路径、缩略图文件名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_OriginalFileExts_MapBuildPath = s_MapBuildBasePath & "\" & s_BuildFileNameAspJpeg.Save s_MapBuildPath '保存If Err.Number <> 0 ThenErr.ClearBuildSmallPic = "Error_03"Exit FunctionEnd If'--将缩略图存盘结束--

'注销实例Set AspJpeg = NothingIf Err.Number <> 0 ThenBuildSmallPic = "Error_Other"Err.ClearEnd IfBuildSmallPic = s_BuildBasePath & s_BuildFileName
End Function

%>

 

通过本文您对西安网站建设有了进一步了解,本公司温馨提醒:找西安做网站公司,请选择手续齐全、业务精、服务好的正规公司。

工商网上亮照

版权所有:西安点墨网络科技有限公司 信息备案编号: 陕ICP备11004160号-1

客户服务电话:15229292610

公司注册地址:西安市雁塔区融鑫路丽湾蓝岛1幢3单元16层31605号

临时办公地址:西安市雁塔区朱雀大街紫郡长安F3

Sitemap 网站地图 手机版

服务热线:15229292610

客服信箱:vip@dianmo.cc

846461336327

版权所有:西安点墨网络科技有限公司 信息备案编号: 陕ICP备11004160号-1