账号通
    

账号  

密码  

13040

查看

12

回复
主题:[分享]增加KesionCMS/ESHOP X1.0 百度编辑器远程抓取图片自动缩放+添加水印功能 [收藏主题] 本贴被认定为精华 转到:  
zyk_happy 当前离线

47

主题

0

广播

1

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

用户积分:978 分
登录次数:285 次
注册时间:2008/11/6
最后登录:2020/6/2
zyk_happy 发表于:2014/10/21 15:42:18   | 显示全部帖子 查看该作者主题 楼主 
KesionCMS/ESHOP X1.0发布,修改了编辑器为百度编辑器,在复制web内容时能自动抓取远程图片并上传。但对于远程抓取的图片加水印和缩放功能有所欠缺,有时抓取的图片太大,有时图片上有水印,十分不爽,本来想发个贴图点省事,可是没人理会,只好自已动手了。研分了半天终于搞出来了,发出来分享一下,有需要的拿去:
修改文件:\editor\asp\action_crawler.asp

修改代码如下:(服务器需支持AspJpeg组件)
'==============KESION 修改==========================

    urls = Split(Request.Item("source[]"), ", ")
    Set list = new ASPJson.Collection

Set Jpeg = Server.CreateObject("Persits.Jpeg")  '创建水印组件对象

    For i = 0 To UBound(urls)
   
up.UploadRemote( urls(i) )

Jpeg.Open Server.MapPath(up.FilePath)   '图片地址

imgWidth = Jpeg.OriginalWidth
imgHeight = Jpeg.OriginalHeight
maxWidth=500 '控制图像最大宽度


if imgWidth>maxWidth then
    imgWidth = maxWidth
    imgHeight = Jpeg.OriginalHeight * maxWidth / Jpeg.OriginalWidth  '按比例取图像高度
    Jpeg.Width = imgWidth
    Jpeg.Height = imgHeight
end if

x=220 'x坐标,以图片右下角为原点
y=20   'y坐标,以图片右下角为原点
Jpeg.Canvas.Font.Size = 16  '水印字体大小
Jpeg.Canvas.Font.Bold = False               '不加粗
Jpeg.Canvas.Font.Color = &H000000     '字体颜色
Jpeg.Canvas.Font.BkMode = &HFFFFFF   '背景
Jpeg.Canvas.Print imgWidth-x, imgHeight-y, "Copyright (c) www.Kesion.com, Inc."     '写水印字符
Jpeg.Save Server.MapPath(up.FilePath)    '保存图片



        Dim instance
        Set instance = new ASPJson.Collection
        instance.Add "state", up.State
        instance.Add "url", up.FilePath
        instance.Add "source", urls(i)
        list.Add i, instance
    Next

Set Jpeg = Nothing '清除对象

    Set json = new ASPJson



效果图:

点击查看原图


另外,如果不需要加水印,又想去掉抓取的远程图片的水印,也可以用jpeg.Crop命令很方便地将图片水印切掉。
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行0.06250秒 powered by KesionCMS 9.0