主题: 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" /> ', '<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="iswater" type="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
|
作者: 小凯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就可以,然后在后台判断是否加水印。 |
回复 |