加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#监控文件夹并自动给图片文件打水印

发布时间:2020-12-15 17:54:11 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 C#监控文件夹并自动给图片文件打水印 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

C#监控文件夹并自动给图片文件打水印
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace FolderWatcher
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private static string text = "http://www.cnblogs.com/zhuzhenyu";
        private static string path = @"E:FolderWatcher";
        private void button1_Click(object sender,EventArgs e)
        {
            if (!string.IsNullOrEmpty(this.textBox1.Text))
            {
                path = this.textBox1.Text;
            }
            if (!string.IsNullOrEmpty(this.textBox2.Text))
            {
                text = this.textBox2.Text;
            }
            WatcherStrat(path,"*.*");
        }
 
        private static void WatcherStrat(string path,string filter)
        {
 
            FileSystemWatcher watcher = new FileSystemWatcher();
            watcher.Path = path;
            watcher.Filter = filter;
            watcher.Created += new FileSystemEventHandler(OnProcess);
            watcher.EnableRaisingEvents = true;
            watcher.NotifyFilter = NotifyFilters.Attributes | NotifyFilters.CreationTime | NotifyFilters.DirectoryName | NotifyFilters.FileName | NotifyFilters.LastAccess
                                   | NotifyFilters.LastWrite | NotifyFilters.Security | NotifyFilters.Size;
            watcher.IncludeSubdirectories = true;
        }
 
        private static void OnProcess(object source,FileSystemEventArgs e)
        {
            if (e.ChangeType == WatcherChangeTypes.Created)
            {
                OnCreated(source,e);
            }
        }
        private static void OnCreated(object source,FileSystemEventArgs e)
        {
            if (e.FullPath.IndexOf("_new.") < 0)
            {
                FinePic(e.FullPath,text,e.FullPath.Replace(".","_new."),new Font("宋体",15,FontStyle.Bold));
            }
        }
 
        /// <summary>
        /// 图片水印
        /// </summary>
        /// <param name="FileName">源文件路径</param>
        /// <param name="wText">水印文字</param>
        /// <param name="savePath">保存路径</param>
        /// <param name="font">字体样式</param>
        public static void FinePic(string FileName,string wText,string savePath,Font font)
        {
            Bitmap bmp = new Bitmap(FileName);
            System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bmp);
 
            g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
            g.DrawString(wText,font,new SolidBrush(Color.FromArgb(70,Color.Red)),60,bmp.Height - 120);//加水印
            bmp.Save(savePath,System.Drawing.Imaging.ImageFormat.Jpeg);
        }
    }
}

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读