繪製文本圖像 csharp

我們看到或創建大量圖像以獲取視覺信息。有時您需要以其他人無法修改該文本的方式在圖像上添加或繪製文本。圖像水印是最常見的例子之一。同樣,標記或查看圖像也可能需要繪製文本。讓我們探索在圖像上繪製文本的進一步用途:

在圖像上添加、插入或繪製格式化文本——C# API 安裝

Aspose.Drawing for .NET API 是一個與 System.Drawing 包兼容的二維圖形庫。它支持在圖像上渲染矩形、曲線、直線、文本和其他圖形。它不依賴於任何第三方庫,因此可以在任何環境中使用。例如,它還可以用於在不支持 System.Drawing 庫的 Linux 或 Azure Functions V2 中渲染圖形。您可以通過從 下載 部分下載或通過以下安裝命令安裝 Aspose.Drawing for .NET API:

PM> Install-Package Aspose.Drawing

使用 C# 以編程方式在現有圖像上繪製文本作為水印

圖像上的文本水印通常用於顯示圖片的所有權、從屬關係或用途。您可以通過以下步驟在現有圖像上添加或繪製文本作為水印:

  1. 加載現有的輸入圖像
  2. 初始化 Graphics 類對象
  3. 設置文本格式和文本
  4. 繪製文字
  5. 保存輸出圖像

以下代碼顯示瞭如何使用 C# 以編程方式在現有圖像上繪製文本作為水印:

// 加載現有的輸入圖像
Bitmap bitmap = new Bitmap(dataDir + @"Test.png");

// 初始化圖形類對象
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
Brush brush = new SolidBrush(Color.FromKnownColor(KnownColor.Black));

// 在指定顏色時聲明畫筆
Pen pen = new Pen(Color.FromKnownColor(KnownColor.Blue), 1);

// 設置文字字體
Font arial = new Font("Arial", 20, FontStyle.Regular);

// 設置文字
string text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sapien tellus, mattis et condimentum eget, commodo ut ipsum. Maecenas elit sapien, tempus sit amet mauris sit amet, hendrerit laoreet nisi. Nulla facilisi. Sed commodo, mauris eget porta commodo, nunc tellus volutpat mi, eu auctor diam libero vel neque. Vestibulum nec mattis dui, nec molestie nisl. Etiam in magna felis. Praesent non nulla tortor. Integer nec convallis purus. Fusce vitae mollis mauris. Cras efficitur dui at mi viverra scelerisque. Morbi quis magna elit. Nulla facilisis id ante sit amet fringilla. Sed iaculis consectetur lectus a interdum. Etiam ut sollicitudin lectus, et congue lectus.";
Rectangle rectangle = new Rectangle(100, 100, 800, 600);
graphics.DrawRectangle(pen, rectangle);

// 繪製文字
graphics.DrawString(text, arial, brush, rectangle);

// 保存輸出圖像
bitmap.Save(RunExamples.GetDataDir() + @"TextFonts\DrawText_out.png");

在 C# 中以編程方式從頭開始在新圖像上繪製文本

您可能需要為不同的目的繪製一些圖像格式的文本。就像您可能希望防止其他人修改或複製文本內容一樣。您需要按照以下步驟在新圖像上繪製文本:

  1. 從頭開始初始化新圖像
  2. 初始化Brush類對象
  3. 設置字體樣式、大小等。
  4. 繪製文字 on the image
  5. 保存輸出圖像

下面的代碼片段演示瞭如何使用 C# 語言以編程方式從頭開始在新圖像上繪製文本:

// 從頭開始初始化新圖像
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
graphics.Clear(Color.FromKnownColor(KnownColor.White));

// 初始化 Brush 類對象
Brush brush = new SolidBrush(Color.FromKnownColor(KnownColor.Black));
Pen pen = new Pen(Color.FromKnownColor(KnownColor.Blue), 1);

// 設置字體樣式、大小等。
Font arial = new Font("Arial", 20, FontStyle.Regular);
string text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sapien tellus, mattis et condimentum eget, commodo ut ipsum. Maecenas elit sapien, tempus sit amet mauris sit amet, hendrerit laoreet nisi. Nulla facilisi. Sed commodo, mauris eget porta commodo, nunc tellus volutpat mi, eu auctor diam libero vel neque. Vestibulum nec mattis dui, nec molestie nisl. Etiam in magna felis. Praesent non nulla tortor. Integer nec convallis purus. Fusce vitae mollis mauris. Cras efficitur dui at mi viverra scelerisque. Morbi quis magna elit. Nulla facilisis id ante sit amet fringilla. Sed iaculis consectetur lectus a interdum. Etiam ut sollicitudin lectus, et congue lectus.";
Rectangle rectangle = new Rectangle(100, 100, 800, 600);
graphics.DrawRectangle(pen, rectangle);

// 在圖像上繪製文字
graphics.DrawString(text, arial, brush, rectangle);

// 保存輸出圖像
bitmap.Save(RunExamples.GetDataDir() + @"TextFonts\DrawText_out.png");

結論

在本文中,我們學習瞭如何在圖像上添加或繪製文本。您可以從頭開始在現有圖像和新圖像中繪製文本水印,而無需安裝任何第 3 方應用程序。此外,您可以處理許多圖像格式,包括 JPG、PNG、BMP、Icon、Tiff 等。API 提供了多種功能來根據您的要求處理繪圖和圖形。您可以訪問我們為不同場景設計的示例項目。如有任何疑慮,請隨時通過 免費支持論壇 與我們聯繫。乾杯!

也可以看看

信息:Aspose 最近開發了一個免費的 Text to GIF Converter