本文实例讲述了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#程序设计有所帮助。
本文向大家介绍php给图片加文字水印,包括了php给图片加文字水印的使用技巧和注意事项,需要的朋友参考一下 注释非常的详细了,这里就不多废话了 以上所述就是本文的全部内容了,希望大家能够喜欢。
本文向大家介绍C#显示文件夹下所有图片文件的方法,包括了C#显示文件夹下所有图片文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#显示文件夹下所有图片文件的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的C#程序设计有所帮助。
本文向大家介绍C#如何给PDF文件添加水印,包括了C#如何给PDF文件添加水印的使用技巧和注意事项,需要的朋友参考一下 水印种类及功能介绍 PDF水印分为两种:文本水印和图片水印。文本水印一般被用在商业领域,提醒读者该文档是受版权保护的,其他人不能抄袭或者免费使用。除了这个特征,水印还可以用来标记这个文档 的一些基本状态信息,例如是草稿状态还是最终版本?图片水印是美化PDF文件的一个很好的选择,
本文向大家介绍写个给图片加水印的方法相关面试题,主要包含被问及写个给图片加水印的方法时的应答技巧和注意事项,需要的朋友参考一下 都用Canvas的方案解决 情况一:水印是图片(两张图片canvas.drawImage两次重叠即可) 情况二:水印是纯文字
问题内容: 我正在尝试编写一个node.js脚本,该脚本监视文件目录中的更改,然后打印更改的文件。如何修改此脚本,以便它监视目录(而不是单个文件),并在更改文件时显示目录中的文件名? 问题答案: 试试Chokidar: Chokidar仅使用fs即可查看文件,从而解决了一些跨平台问题。
我试图构建一个应用程序,监视文件夹及其子文件夹,以检测文件的创建或修改。要观看的文件总数将日益增加。 我曾尝试使用java nio WatchService和apache常见的FileAlteration观察者。WatchService有时会在WatchKey被获取之后和重置之前发生文件创建/修改时丢失事件。由于FileAlterationeller是基于轮询的,因此当文件计数增加时性能也会下降。