第一部分:科汛图片上传自动生成不变性小图
注意:
1、确认你的系统安装了asppjeg组件;
2、确认你的科汛后台已经设置了启用asppjeg组件,并且是‘按大小’生成缩略图;
3、我用的是买的科汛基础版,不知区别如何,若在其他版本修改出错,你只要认真分析下我的分割算法,就可以套用任何支持aspjpeg组件的上传文件!
===============================================
aspjpeg1.8组件***版下载地址:http://download.csdn.net/source/230631
name:zwren
sn:09268-26217-40710
检测是否注册成功的方法:
将以下代码保存为asp,拷贝在服务器上,用浏览器打开,看返回结果。
<%
set jpeg=server.createobject("persits.jpeg")
response.write jpeg.expires
'检测aspjpeg的注册状态
'注册成功则到期时间为:9999-9-9
'否则为:安装日期加1个月期限
%>
====================================================
若已经安装了asppjeg组件,就可以执行下步说明
利用asppjeg组件对上传图片进行完美黄金0.618分割,图片按科汛后台设置的大小比例缩小并不变形。任何cms或其他程序aspjpeg上传均可套用以下方法。
效果图:我设置的是150×130,看效果
(原图1)
自动生成的效果(150×130)
此主题相关图片如下:2008040614135541937_s.jpg
原图2(宽行图片)
自动生成效果(150×130)
此主题相关图片如下:2008040614420025174_s.jpg
实现起来其实很简单的。丷
代码如下:(只要2步就OK,包括内置的sk采集系统)
开始。。。。。。
以下内容只有回复后才可以浏览,请先登录!
第二部分:sk采集系统自动按你后台设的小图大小自动生成不变性小图,并且写入科汛文章小图框框里~
(只修改了文章采集部分,其他部分修改雷同,经过文章采集测试正常)
1、确认你的系统安装了asppjeg组件;
2、确认你的sk已经设置了启用asppjeg组件,并且是‘按大小’生成缩略图;
1、修改 Plus\SK_Cj\Inc\cj_cls.asp
(红色部分为增加)
a---大约2939 行 找到 加入objImage.crop
objMark.Open Server.MapPath(MarkPicture)
GetPostion CInt(MarkPosition), x, y, objImage.OriginalWidth, objImage.OriginalHeight,objImage.crop, MarkWidth, MarkHeight
b---大约3085行
Set objImage = Server.CreateObject("Persits.Jpeg")
objImage.Open FileName
If Rate = 0 And (Width <> 0 Or Height <> 0) Then
If Width < objImage.OriginalWidth And Height < objImage.OriginalHeight Then
If Width = 0 And Height <> 0 Then
objImage.Width = objImage.OriginalWidth / objImage.OriginalHeight * Height
objImage.Height = Height
ElseIf Width <> 0 And Height = 0 Then
objImage.Width = Width
objImage.Height = objImage.OriginalHeight / objImage.OriginalWidth * Width
ElseIf Width <> 0 And Height <> 0 Then
objImage.Width = Width
objImage.Height = Height
End If
End If
ElseIf Rate <> 0 Then
改为:
Set objImage = Server.CreateObject("Persits.Jpeg")
objImage.Open FileName
If Rate = 0 And (Width <> 0 Or Height <> 0) Then
If Width < objImage.OriginalWidth And Height < objImage.OriginalHeight Then
dim qjazhro_h,qjazhro_w,qjazhro_t,qjazhro_hj,qjazhro,mznvhai
qjazhro=round((Width/Height),3)
mznvhai=round((objImage.OriginalWidth/objImage.OriginalHeight),3)
If qjazhro<mznvhai Then
objImage.Height = Height
objImage.Width = round((objImage.OriginalWidth / objImage.OriginalHeight * Height),3)
qjazhro_w=round(((objImage.Width-Width)/2),3)
qjazhro_t=Width+qjazhro_w
objImage.crop qjazhro_w,0,qjazhro_t,Height
ElseIf qjazhro>mznvhai Then
objImage.Width = Width
objImage.Height = round((objImage.OriginalHeight / objImage.OriginalWidth * Width),3)
qjazhro_h=objImage.Height-Height
qjazhro_hj=qjazhro_h-(round((qjazhro_h*0.618),3))
qjazhro_t=Height+qjazhro_hj
objImage.crop 0,qjazhro_hj,Width,qjazhro_t
ElseIf qjazhro=mznvhai Then
objImage.Width = Width
objImage.Height = Height
End If
End If
ElseIf Rate <> 0 Then
2、大约492行,增加一段(红色为增加部分)
If SaveRemoteFile(SavePath & strFileName,RemoteFileUrl)=True Then
PathTemp=SavePath & strFileName
ConStr=Re.Replace(ConStr,PathTemp)
Re.Pattern=strInstallDir & strChannelDir
UploadFiles=UploadFiles & "|" & Re.Replace(SavePath &strFileName,"")
Response.Flush()
response.write " 图片保存地址:" & PathTemp & "<br>"
if Thumb_WaterMark=1 then call SKThumb.AddWaterMark(PathTemp)'水印
'展龙增加部分开始
dim fff,ddd
fff=split(strFileName,".")(0)&"_mznvhai."& strFileType '这里_mznvhai是小图识别,可以任意修改
call SKThumb.CreateThumbs(SavePath & strFileName,SavePath & fff)
response.write " 图片保存地址成功:" & fff & "<br>"
'展龙增加部分开始
Else
PathTemp=RemoteFileUrl
ConStr=Re.Replace(ConStr,PathTemp)
'UploadFiles=UploadFiles & "|" & RemoteFileUrl
End If
ElseIf RemoteFileurl<>"$False$" and SaveTf=False Then'不保存图片
Re.Pattern =TempArray(Tempi)
ConStr=Re.Replace(ConStr,RemoteFileUrl)
UploadFiles=UploadFiles & "|" & RemoteFileUrl
End If
Next
Set Re=nothing
If UploadFiles<>"" Then
UploadFiles=Right(UploadFiles,Len(UploadFiles)-1)
End If
ReplaceSaveRemoteFile=ConStr
End function
3、加入自动把小图写入文章默认框框里
依然修改修改 Plus\SK_Cj\Inc\cj_cls.asp文件,大约2130行
(红色为修改部分,蓝色为修改地方)
Case 1'--文章数据库
。
.
.
If x_tp=1 then
CMSRS("picurl")=picpath
Else
UploadFiles_1=Split(UploadFiles,"|")
If Ubound(UploadFiles_1) >= 0 then
CMSRS("picurl")=UploadFiles_1(0)
Else
CMSRS("picurl")=UploadFiles
End if
End if
改为:
If x_tp=1 then
CMSRS("picurl")=picpath
Else
UploadFiles_1=Split(UploadFiles,"|")
If Ubound(UploadFiles_1) >= 0 then
dim ggo,ggo1,rrr,rrr1
ggo=UploadFiles_1(0)
rrr = Split(ggo,".")
rrr1=Lcase(rrr(Ubound(rrr)))'文件类型
ggo1=split(ggo,".")(0)&"_mznvhai."&rrr1 '提示:_mznvhai小图识别要以下面的识别统一修改
CMSRS("picurl")=ggo1
Else
CMSRS("picurl")=UploadFiles
End if
End if
=====================(完)====================================
最后还有这种效果,按照你的要求自动生成缩略图并且黄金分割不变行,aspjpeg组件非常强大,效果多多,还可修改图片为圆角,建议安装使用,为了维护cms正版权利,只点到为此!见谅!
此主题相关图片如下:screenshot.gif