• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

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

OC/C/C++ 水墨上仙 1987次浏览

C#监控文件夹并自动给图片文件打水印
转自:http://www.cnblogs.com/zhuzhenyu/archive/2012/10/15/2724307.html

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);
        }
    }
}


喜欢 (0)
加载中……