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);
}
}
}
//csharp/5484