主题: 在MVC3或asp.net中修改KindEditor实现上传图片时添加水印 |
作者: denny, 发布日期: 2013-07-21 21:20:19, 浏览数: 2778 |
主要修改两个文件:image.js和upload_json.ashx文件。 一、修改image.js文件 打开kindeditor/plugins/image目录下的image.js文件,找到 '<input type="button" class="ke-upload-button" value="' + lang.upload + '" />', 在这行代码下面添加 '<label style="width:60px;">添加水印</label>', '<input type="text" name="water" value="请输入水印文字"/>',
二、修改upload_json.ashx文件。 打开kindeditor/asp.net目录下的upload_json.ashx文件, 找到 String newFileName = DateTime.Now.ToString("yyyyMMddHHmmss_ffff", DateTimeFormatInfo.InvariantInfo) + fileExt; String filePath = dirPath + newFileName; imgFile.SaveAs(filePath); String fileUrl = saveUrl + newFileName; 这个地方,将之替换成 String newFileName = DateTime.Now.ToString("yyyyMMddHHmmss_ffff", DateTimeFormatInfo.InvariantInfo); String filePath = dirPath + newFileName + fileExt; imgFile.SaveAs(filePath); String fileUrl = saveUrl + newFileName + fileExt; //添加文字水印 Image image = System.Drawing.Image.FromFile(filePath); Graphics g = Graphics.FromImage(image); g.DrawImage(image, 0, 0, image.Width, image.Height); Font f = new Font("Verdana", 32); Brush b = new SolidBrush(Color.Red); string addText = context.Request.Form["water"]; g.DrawString(addText, f, b, 10, 10); g.Dispose(); //保存加水印过后的图片,删除原始图片 string newPath = dirPath + newFileName + "_new" + fileExt; image.Save(newPath); image.Dispose(); if (File.Exists(filePath)) { File.Delete(filePath); } fileUrl = saveUrl + newFileName + "_new" + fileExt; 这样就可以了。水印文字的颜色可由Color.Red这个地方来设置,位置可由g.DrawString(addText, f, b, 10, 10)这行代码的后面两个参数来设置。
原贴地址:http://www.cnblogs.com/denny402/p/3204296.html
|