監控文件夾自動給圖片文件打水印C#代碼

fefef123 11年前發布 | 1K 次閱讀 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://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);  
        }  
    }  
}  </pre> 


 本文由用戶 fefef123 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!