• 监控文件夹里面文件修改的小程序


    个人私心的缘故,经常写一些博客之类的文章,由于看到网络上面好多同志转载后不标明出处,所以特地写了这么一个小程序,这个小程序的功能是当我在页面上通过QQ截图之后,把截到的图片保存到一个指定的路径,然后工具自动帮我把图片上面加上水印。

    写这个代码参考了http://www.cnblogs.com/springyangwc/archive/2011/08/27/2155547.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);
            }
        }
    }

    来看一下效果

    这里的代码非常简单,大家不要喷我

  • 相关阅读:
    iOS,Android,WP, .NET通用AES加密算法
    iOS开发笔记-图标和图片大小官方最新标准
    因为对 Docker 不熟悉建了 N 多个 Nginx
    Docker 学习笔记 2019-05-27
    Linux Mint 19.1 安装 Docker 过程笔记
    W600 一块新的 KiCad PCB
    KiCad Mark 点名称
    一次乙型流感记录(2019-05-24)
    为什么不喜欢在 QQ 群里回答问题?
    Git 的两种忽略文件方式 gitignore 和 exclude
  • 原文地址:https://www.cnblogs.com/zhuzhenyu/p/2724307.html
Copyright © 2020-2023  润新知