账号通
    

账号  

密码  

92591

查看

152

回复
主题:[原创]图片上传自动生成不变形缩略图黄金分割修改方法~(4月7日更新-sk采集自动生成不变行小图并自动设为文章小图 [收藏主题] 本贴被认定为精华 转到:  
梦中女孩 当前离线

46

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:846 分
登录次数:49 次
注册时间:2008/3/7
最后登录:2009/9/18
梦中女孩 发表于:2008/4/6 15:12:00   | 只看该作者 查看该作者主题 楼主 

第一部分:科汛图片上传自动生成不变性小图

 

注意:

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
2008040614135541937_s.jpg

 

 

 

原图2(宽行图片)

 

 

自动生成效果(150×130)

 


此主题相关图片如下:2008040614420025174_s.jpg
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 " &nbsp;&nbsp;&nbsp;图片保存地址:" & 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 " &nbsp;&nbsp;&nbsp;图片保存地址成功:" & 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
screenshot.gif
 
  支持(1) | 反对(0) 回到顶部顶端 回到底部底部
wei_lu 当前离线

69

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:556 分
登录次数:29 次
注册时间:2010/1/16
最后登录:2011/11/29
wei_lu 发表于:2010/5/10 14:59:00   | 只看该作者 查看该作者主题 沙发 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
jasonwu 当前离线

53

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:462 分
登录次数:49 次
注册时间:2010/1/6
最后登录:2011/2/25
jasonwu 发表于:2010/5/5 21:28:00   | 只看该作者 查看该作者主题 藤椅 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
xieguang133 当前离线

69

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:236 分
登录次数:8 次
注册时间:2010/4/3
最后登录:2011/9/22
xieguang133 发表于:2010/4/12 11:45:00   | 只看该作者 查看该作者主题 板凳 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
liyan9944 当前离线

226

主题

1

广播

1

粉丝
添加关注
级别:二年级

用户积分:1476 分
登录次数:143 次
注册时间:2008/12/3
最后登录:2018/10/16
liyan9944 发表于:2010/4/12 9:39:00   | 只看该作者 查看该作者主题 报纸 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
hejian 当前离线

1201

主题

4

广播

4

粉丝
添加关注
级别:九年级

用户积分:3522 分
登录次数:563 次
注册时间:2006/12/26
最后登录:2024/1/21
hejian 发表于:2009/12/10 1:43:00   | 只看该作者 查看该作者主题 地板 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
gobox 当前离线

125

主题

0

广播

0

粉丝
添加关注
级别:一年级

用户积分:718 分
登录次数:78 次
注册时间:2009/7/18
最后登录:2015/9/23
gobox 发表于:2009/12/9 17:59:00   | 只看该作者 查看该作者主题 7楼 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
min1min 当前离线

446

主题

0

广播

0

粉丝
添加关注
级别:四年级

用户积分:462 分
登录次数:77 次
注册时间:2009/6/1
最后登录:2012/9/4
min1min 发表于:2009/8/11 8:26:00   | 只看该作者 查看该作者主题 8楼 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
sissitang 当前离线

1

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:25 分
登录次数:1 次
注册时间:2009/8/10
最后登录:2009/8/10
sissitang 发表于:2009/8/10 16:34:00   | 只看该作者 查看该作者主题 9楼 
好复杂啊,能简化下吗
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
a316947849 当前离线

174

主题

0

广播

0

粉丝
添加关注
级别:一年级

用户积分:980 分
登录次数:59 次
注册时间:2009/8/3
最后登录:2010/12/6
a316947849 发表于:2009/8/10 11:02:00   | 只看该作者 查看该作者主题 10楼 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行0.21973秒 powered by KesionCMS 9.0