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

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
    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://blog.csdn.net/wangqiuyun";  
            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);  
            }  
        }  
    }  

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:jquery 圆形进度条

下一篇:Jquery 异步提交表单