給圖片加水印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;

    // 在 Image 上繪製字符串 Save output to disk
    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;

    // 在 Image 上繪製字符串 Save output to disk
    graphics.DrawString(theString, font, brush, 0, 0, format);
    image.Save("watermarked.png");
}
給圖像C#添加對角線水印

獲取免費的 API 許可證

如果您想在沒有評估限制的情況下試用 API,您可以獲得免費的臨時許可證

結論

在本文中,您學習瞭如何使用 C# 為圖像添加水印。此外,您還了解瞭如何將水印文本轉換為特定角度。您可以使用 文檔 探索有關 C# 圖像處理 API 的更多信息。如果您有任何問題或疑問,請通過我們的論壇 聯繫我們。

也可以看看