欢迎来到代码的世界,我们开始吧!
您当前的位置:首页 > 风讯CMS

风讯cms采集时图片自动添加水印方法

2019-03-11    来源:CMS代码    浏览次数:

下面 前端入门建站教程为大家介绍一下风讯cms采集时图片自动添加水印方法

风讯cms采集时图片自动添加水印方法

一、增加一个水印类
/Foosun.CMS.Collect.WaterMark.cs
文件内容如下:

CODE: using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Foosun.CMS;
using System.Drawing;
using System.Drawing.Imaging;
using Foosun.CMS.Common;

namespace Foosun.CMS.Collect {
    class WaterMark {
        public WaterMark() {;
        }
        //张涛
        public void GetWaterMark(string fileNamePath) {
            Foosun.CMS.sys Sys = new Foosun.CMS.sys();
            DataTable dt_sys = Sys.WaterStart();
            //实现水印、缩图
            Foosun.CMS.Common.FSImage fd = new Foosun.CMS.Common.FSImage(0, 0, fileNamePath);

            if (dt_sys.Rows[0]["PrintPicTF"].ToString() == "7") {
                //时间:2008-07-21 修改者:吴静岚
                //实现水印、缩图
                // FSImage fd = new FSImage(0, 0, Server.MapPath(_fileNamePath));
                fd.Diaph = dt_sys.Rows[0]["PintPictrans"].ToString();
                //--wjl>
                fd.Quality = 100;
                fd.Title = dt_sys.Rows[0]["PrintWord"].ToString();
                fd.FontSize = Convert.ToInt32(dt_sys.Rows[0]["Printfontsize"].ToString());
                if (dt_sys.Rows[0]["PrintBTF"].ToString() == "1") fd.StrStyle = FontStyle.Bold;
                fd.FontColor = ColorTranslator.FromHtml("#" + dt_sys.Rows[0]["Printfontcolor"].ToString());
                fd.BackGroudColor = Color.White;
                fd.FontFamilyName = dt_sys.Rows[0]["Printfontfamily"].ToString();
                fd.Waterpos = dt_sys.Rows[0]["PrintPosition"].ToString();
                fd.Watermark();
            } else {
                //时间:2008-07-21 修改者:吴静岚 1
                //实现水印、缩图
                //时间:2008-08-04 修改者:吴静岚 2
                //实现水印、缩图
                double a_picsize = Convert.ToDouble(dt_sys.Rows[0]["PrintPicsize"]);
                fd.Waterpos = dt_sys.Rows[0]["PrintPosition"].ToString();
                fd.Height = Convert.ToInt32(a_picsize * 10);
                fd.Width = Convert.ToInt32(a_picsize * 10);
                //--wjl 2
                fd.Diaph = dt_sys.Rows[0]["PintPictrans"].ToString();
                //--wjl 1>
                fd.WaterPath = Foosun.Common.ServerInfo.GetRootPath().TrimEnd('//') + @"/" + Foosun.Config.UIConfig.dirFile + @"/RemoteFiles/watermark.png";
                fd.WaterPicturemark();
            }
            dt_sys.Clear();
            dt_sys.Dispose();
        }
    }
}

二、然后修改这个类
:/Foosun.CMS.Collect.PageRes.cs
找到

string newname = FileNum + SeriesNum.ToString().PadLeft(3, ' 0 & #39;) + ". & quot; + r.extname;
while (File.Exists(_localpath + " //"+ newname))
{
    SeriesNum++;
    newname = FileNum + SeriesNum.ToString().PadLeft(3, ' 0 & #39;) + ". & quot; + r.extname;
}
newpath = _localpath + " //" + newname;
newurl = _localurl + newname; wb.DownloadFile(url, newpath);

在下面加一条:

waterMark.GetWaterMark(newpath);

再找到

else{
newurl = _localurl + r.orgname + "." + r.extname;
wb.DownloadFile(url, _localpath + "//" + r.orgname + "." + r.extname);

在下面加一条:

waterMark.GetWaterMark(newpath);

三、注意,只支持水印图片放在
这个目录
files/RemoteFiles/watermark.png

上面是关于“风讯cms采集时图片自动添加水印方法”的详细介绍,想了解更多关于风讯CMS内容,请继续关注 前端入门建站教程!

最新文章

回到顶部