程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#監控文件夾並主動給圖片文件取水印的辦法

C#監控文件夾並主動給圖片文件取水印的辦法

編輯:C#入門知識

C#監控文件夾並主動給圖片文件取水印的辦法。本站提示廣大學習愛好者:(C#監控文件夾並主動給圖片文件取水印的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C#監控文件夾並主動給圖片文件取水印的辦法正文


本文實例講述了C#監控文件夾並主動給圖片文件取水印的辦法。分享給年夜家供年夜家參考。詳細剖析以下:

小我私心的原因,常常寫一些博客之類的文章,因為看到收集下面很多多少同志轉載後不標明出處,所以專程寫了這麼一個小法式,這個小法式的功效是當我在頁面上經由過程QQ截圖以後,把截到的圖片保留到一個指定的途徑,然後對象主動幫我把圖片下面加下水印。

上面是全體代碼:

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.WordStr(".", "_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);
    }
  }
}

來看一下後果

這裡的代碼異常簡略,年夜家不要噴我

我是一只辛苦耕作的螞蟻

願望本文所述對年夜家的C#法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved