为图像添加水印C#

图像中的水印通常用于声明内容的所有权。另一方面,图像被加水印以避免未经授权的使用或伪造。在各种情况下,您可能需要在 Web 或桌面应用程序中自动添加水印功能。对于此类场景,本文介绍了如何使用 C# 以编程方式向图像添加水印。当您需要一次性为一批图像添加水印时,这也很有用。那么让我们开始吧。

C# API 为图像添加水印

为了给图像添加水印,我们将使用 Aspose.Imaging for .NET。它是一个强大的图像处理 API,支持多种图像格式。此外,API 使您可以更轻松地操作图像。您可以 下载 API 的二进制文件或使用 NuGet 安装它。

PM> Install-Package Aspose.Imaging

在 C# 中为图像添加水印

以下是使用 C# 向图像添加水印的步骤。

以下代码示例展示了如何在 C# 中为图像添加水印。

// 加载现有的 PNG 图像
using (Image image = Image.Load("image.png"))
{
    // 使用水印文本声明一个字符串对象
    string theString = "This is watermark";

    // 创建并初始化 Graphics 类的实例并初始化 SizeF 的对象以存储图像大小
    Graphics graphics = new Graphics(image);
    SizeF sz = graphics.Image.Size;

    // 创建一个 Font 实例,使用 Font Face、Size 和 Style 对其进行初始化
    Font font = new Font("Times New Roman", 20, FontStyle.Bold);

    // 创建 SolidBrush 实例并设置其各种属性
    SolidBrush brush = new SolidBrush();
    brush.Color = Color.Red;
    brush.Opacity = 0;

    // 初始化 StringFormat 类的对象并设置其各种属性
    StringFormat format = new StringFormat();
    format.Alignment = StringAlignment.Center;
    format.FormatFlags = StringFormatFlags.MeasureTrailingSpaces;

    // 将图像保存输出上的字符串绘制到磁盘
    graphics.DrawString(theString, font, brush, 0, 0, format);
    image.Save("watermarked.jpg");
}
为图像添加水印C#

在 C# 中为图像添加对角线水印

在各种情况下,水印对角线应用于图像。为此,Aspose.Imaging for .NET 允许您以特定角度转换水印文本。以下是向图像添加对角线水印的步骤。

以下代码示例展示了如何使用 C# 向图像添加对角线水印。

// 加载现有的 PNG 图像
using (Image image = Image.Load("Image.png"))
{
    // 使用水印文本声明一个字符串对象
    string theString = "45 Degree Rotated Text";

    // 创建并初始化 Graphics 类的实例并初始化 SizeF 的对象以存储图像大小
    Graphics graphics = new Graphics(image);
    SizeF sz = graphics.Image.Size;

    // 创建一个 Font 实例,使用 Font Face、Size 和 Style 对其进行初始化
    Font font = new Font("Times New Roman", 20, FontStyle.Bold);

    // 创建 SolidBrush 实例并设置其各种属性
    SolidBrush brush = new SolidBrush();
    brush.Color = Color.Red;
    brush.Opacity = 0;

    // 初始化 StringFormat 类的对象并设置其各种属性
    StringFormat format = new StringFormat();
    format.Alignment = StringAlignment.Center;
    format.FormatFlags = StringFormatFlags.MeasureTrailingSpaces;

    // 创建 Matrix 类的对象进行转换
    Matrix matrix = new Matrix();

    // 先平移后旋转                
    matrix.Translate(sz.Width / 2, sz.Height / 2);
    matrix.Rotate(-45.0f);

    // 通过矩阵设置变换
    graphics.Transform = matrix;

    // 将图像保存输出上的字符串绘制到磁盘
    graphics.DrawString(theString, font, brush, 0, 0, format);
    image.Save("watermarked.png");
}
将对角线水印添加到图像 C#

获取免费 API 许可证

如果您想在没有评估限制的情况下试用 API,您可以获得免费的临时许可证

结论

在本文中,您学习了如何使用 C# 为图像添加水印。此外,您还了解了如何将水印文本转换为特定角度。您可以使用 documentation 探索有关 C# 图像处理 API 的更多信息。如果您有任何问题或疑问,请通过我们的 论坛 联系我们。

也可以看看