下面是编程之家 jb51.cc 通过网络收集整理的代码片段。
编程之家小编现在分享给大家,也给大家做个参考。
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); } } }
以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。