您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > ASP >

FCK在线编辑器上传图片加入水印功能

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 14:18 点击:

在线编辑器Fckeditor,适应多种开发语言环境,功能强大免费开源,能根据自己要求扩展功能。大家可以到官方网站下载最新源代码。

利用编辑器在图片上传时,加入水印功能。

 

如何在自己的网站中架设FCKeditor编辑器?我就不说了,本文默认你已经架设过并且熟悉FCKeditor内部结构。
在下载FCKeditor编辑器的同时,如果是使用.net版本,还必须下载一个源代码包,在里面有一些功能类,和编译出来的DLL文件,存放在BIN文件中,我们所需要做的就是修改源代码,重新编译源代码,生成新的DLL,在自己的网站中替换就可以了。
我使用的是(源代码版本号是FCKeditor.Net_2.5,编辑器文件版本号为FCKeditor_2.6.3)
用VS2008打开代码包根目录下的FredCK.FCKeditorV2.csproj文件,待文件树展开后,找到FileBrowser文件夹下的FileWorkerBase.cs文件,对其进行修改。
我们需要的是修改FileWorkerBase类中的FileUpload方法函数。
在看代码,先做好准备工作。在自己的网站中建立了watermark.config文件,用于存放网站的一些配置信息,如水印的类型(文字型,图片型),是否需要加水印,文字型水印的文字内容等等和本文无关的重要配置信息。所以在如下带代码中,有一段是用来读取这些配置信息的。
在FileUpload方法中找到oFile.SaveAs( sFilePath );语句。在其后加入
 

try
{
     DataSet configds = new DataSet();
     configds.ReadXml(Server.MapPath("~/config/watermark.config"));
     DataTable configdt = configds.Tables[0];
     if (configdt.Rows[0]["Watermarkstatus"].ToString() == "1")
     {
         Image img = Image.FromFile(sFilePath);
         if (configdt.Rows[0]["Watermarktype"].ToString() == "0")
         {
             Graphics g = Graphics.FromImage(img);
             g.DrawImage(img, 0, 0, img.Width, img.Height);
             Font f = new Font("华文行楷", 40);
             Brush b = new SolidBrush(Color.White);
             string addText = configdt.Rows[0]["Watermarktext"].ToString();
             g.DrawString(addText, f, b, img.Width - 174, img.Height - 40);
             g.Dispose();
         }
         if (configdt.Rows[0]["Watermarktype"].ToString() == "1")
         {
             System.Drawing.Image copyImage = System.Drawing.Image.FromFile(Server.MapPath("~/watermark/watermark.gif"));
             Graphics g = Graphics.FromImage(img);
             g.DrawImage(copyImage, new Rectangle(img.Width - copyImage.Width, img.Height - copyImage.Height, copyImage.Width, copyImage.Height), 0, 0, copyImage.Width, copyImage.Height, GraphicsUnit.Pixel);
             g.Dispose();
         }
         sFileName = System.IO.Path.GetFileNameWithoutExtension(oFile.FileName);
           string newPath = sFileName+"_"+DateTime.Now.ToString("yyMMddhhmmss") + "." + sExtension;
           newPath = System.IO.Path.Combine(sServerDir, newPath);
           sFileName = newPath;
           img.Save(newPath);
      &

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • WAP常见问题问答大全(四)
      • ASP开发必备:WEB打印代码大全
      • ASP调用系统ping命令
      • asp缓存技术
      • ASP教程:第三篇 ASP基础
      • 用ASP+XML打造留言本(4)
      • 关于ASP Recordset 分页出现负数解决方法及建议
      • 用asp怎样编写文档搜索页面(5)
      • ASP处理多关键词查询实例代码
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1