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.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);
    }
  }
} 
  
 이곳 의 코드 는 매우 간단 하 니,여러분 저 를 뿌리 지 마 세 요.
나 는 열심히 노력 한 개미 다.
본 고 에서 말 한 것 이 여러분 의 C\#프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.