主题: ASP中配置Kindeditor上传图片选择添加水印功能
作者: IT618资讯网, 发布日期: 2013-11-02 11:17:30, 浏览数: 4670
以前用破解版的ewebeditor在线编辑器,虽然功能很强大,可是只支持IE浏览器,我经常用的是谷歌浏览器,后来发现了KindEditor在线编辑器,非常不错,只是发现没有图片水印的功能,要手工加水印功能。我用的是kingcms asp系统,所以用的是KindEditor的asp部分功能。

第一步:修改plugins下的image/image.js,找到本地上传框代码:
'<label style="width:60px;">' + lang.localUrl + '</label>',
'<input type="text" name="localUrl" class="ke-input-text" tabindex="-1" style="width:200px;" readonly="true" /> &nbsp;',
'<input type="button" class="ke-upload-button" value="' + lang.upload + '" />',
'</div>',

在其下面加以下代码:
'<div class="ke-dialog-row">',
'<label style="width:60px;vertical-align:middle">是否水印</label>',
'<input id="iswater" name="iswatertype="checkbox" value="1" checked="checked" class="ke-inline-block" style="vertical-align:middle"/><label style="vertical-align:middle" for="iswater">水印图片路径:编辑器根目录/asp/watermark.png</label>',
'</div>',


第二步,修改asp下的upload_json.asp,找到"fileUrl = saveUrl & file.filename"
在其下面加以下代码:
if upload.forms("iswater")<>"" then watermark fileUrl,"watermark.png"

再加一个过程函数:

public sub watermark(savapath,watermarkpath)public sub watermark(savapath,watermarkpath)
on error resume next
'aspjpeg (true 支持;false不支持)
dim it618_isjpeg = true '服务器是否支持aspjpeg,Version 1.5
dim it618_regkey = "" '有些服务器有ASPJPEG组件,但不能使用时,就在这里输入可用的系列号就能正常使用
dim it618_watermark = true '是否打开水印功能 水印图片文件路径:编辑器根目录/asp/watermark.png
dim it618_watermark_weight = 4 ' 水印的位置 0随机 1左上角 2右上角 3左下角 4右下角 5正中间
dim it618_watermark_alpha = 0.8 '水印的透明度
dim I1,I2,I3
if it618_watermark and isexist(savapath) then
else
exit sub
end if
set I1=server.createobject("Persits.Jpeg")'原始图
if len(it618_regkey)>0 then I1.regkey =it618_regkey
I1.open server.mappath(savapath)
set I2=server.createobject("Persits.Jpeg")'水印图片
if len(it618_regkey)>0 then I2.regkey =it618_regkey
I2.open server.mappath(watermarkpath)
if it618_watermark_weight=0 then
randomize
I3=(round((rnd*99)+1) mod 5)+1
else
I3=it618_watermark_weight
end if
'水印
if I1.width>I2.width and I1.height>I2.height then
select case cstr(I3)
case"1" I1.DrawImage 0, 0,I2,it618_watermark_alpha,&HFFFFFF
case"2" I1.DrawImage I1.width-I2.width, 0,I2,it618_watermark_alpha,&HFFFFFF
case"3" I1.DrawImage 0, I1.height-I2.height,I2,it618_watermark_alpha,&HFFFFFF
case"4" I1.DrawImage I1.width-I2.width, I1.height-I2.height,I2,it618_watermark_alpha,&HFFFFFF
case"5" I1.DrawImage (I1.width-I2.width)/2, (I1.height-I2.height)/2,I2,it618_watermark_alpha,&HFFFFFF
end select
I1.save server.mappath(savapath)
end if
set I1=nothing
set I2=nothing
end sub

更多资料:http://www.cnit618.com/html/fwdkf/asp/3075.htm

作者: 小凯2013, 发布日期: 2013-11-06 22:18:12
按照楼主的方法增加了,然后就素报错
回复
作者: IT618资讯网, 发布日期: 2013-11-16 08:44:50
回复小凯2013:先要看你的空间是否支持aspjpeg,你也要说一下报什么错吧
回复
作者: zhangyl, 发布日期: 2014-02-27 12:39:17
处理url时服务器发生错误,请和系统管理员联系
回复
作者: xiaoxiami, 发布日期: 2014-09-08 10:11:58

我认为是否添加水印的前台控制没必要修改kinder程序,不利升级。直接读取document.getElementById("iswater").value就可以,然后在后台判断是否加水印。

回复
发表新帖 发表回复