基于C#实现数字水印工具
摘要
基于C#提供的Image类,实现数字水印比较容易;这里强调的是如何做可release的一个工具。
照片添加
利用C#的FolderBrowserDialog类,可以方便地的读取图像文件。本文是基于目录添加照片,所以需要进行目录遍历。如果打开的是目录,还需要打开子目录读取照片;在本文实现中,只读取JPG文件,并且在添加前试着读一下,避免一些图片不能读取,影响后续操作的有效性。
另外,从FolderBrowserDialog类得到路径后,不要忘记读取该目录下的文件,这是一个容易忽略的小问题,即
get_file(fbdlg.SelectedPath)
后再调用get_dir(fbdlg.SelectedPath)。
private
void get_dir(string parent)
{
DirectoryInfo di = new DirectoryInfo(parent);
foreach (DirectoryInfo subdir in di.GetDirectories())
{
get_file(subdir.FullName);
}
}
private void get_file(string parent)
{
DirectoryInfo di = new DirectoryInfo(parent);
foreach (FileInfo fi in di.GetFiles())
{
if (fi.Extension.ToUpper() == ".JPG")
{
try
{
Image test = Image.FromFile(fi.FullName);
if (test != null)
{
insertPhoto(fi);
test.Dispose();
|