我可以在一系列图片上添加水印吗?

时间:2010-06-14 21:32:04

标签: c# vb.net image-processing jpeg watermark

我有大量的照片,我想通过在它们上添加水印来“保护”。有没有办法用vb.net或C#添加水印?

3 个答案:

答案 0 :(得分:2)

public void AddWatermark(string filename, string watermarkText, Stream outputStream) {
    Bitmap bitmap = Bitmap.FromFile(filename);
    Font font = new Font("Arial", 20, FontStyle.Bold, GraphicsUnit.Pixel);
    Color color = Color.FromArgb(10, 0, 0, 0); //Adds a black watermark with a low alpha value (almost transparent).
    Point atPoint = new Point(100, 100); //The pixel point to draw the watermark at (this example puts it at 100, 100 (x, y)).
    SolidBrush brush = new SolidBrush(color);

    Graphics graphics = null;
    try {
        graphics = Graphics.FromImage(bitmap);
    } catch {
        Bitmap temp = bitmap;
        bitmap = new Bitmap(bitmap.Width, bitmap.Height);
        graphics = Graphics.FromImage(bitmap);
        graphics.DrawImage(temp, new Rectangle(0, 0, bitmap.Width, bitmap.Height), 0, 0, bitmap.Width, bitmap.Height, GraphicsUnit.Pixel);
        temp.Dispose();
    }

    graphics.DrawString(text, font, brush, atPoint);
    graphics.Dispose();

    bitmap.Save(outputStream);
}

答案 1 :(得分:1)

答案 2 :(得分:0)

This blog post承诺:

  

本文将介绍构建简单水印实用程序的方法,该实用程序可用于为任何支持的图像文件格式添加水印。生成的应用程序应允许用户将任何支持的图像文件格式打开到可滚动的图片框中,以定义要作为水印应用的文本(提供默认版本),以设置水印的字体和颜色,以定义水印的不透明度,用于确定水印是否出现在图像的顶部或底部,以及在将水印保存到图像之前预览水印。

它应该提供一个良好的起点。