C# 中的圖形編程

C# 中的圖形編程可能看起來比您想像的更容易或更難。在本文中,您將學習如何以編程方式創建令人驚嘆的矢量圖形。無論您是將圖形創建作為當前項目的一部分,還是作為您自己的遊戲或應用程序的基礎!您將學會輕鬆創建精美的視覺效果。讓我們開始吧!

本文應涵蓋以下主題:

  1. C#矢量圖形編程API
  2. 矢量圖形的結構
  3. 使用 C# 進行圖形編程
  4. 圖形編程中的曲線
  5. 多邊形和矩形
  6. 如何畫線
  7. 如何繪製路徑
  8. 繪製填充區域

C# 矢量圖形編程 API - 免費下載

要在 C# 中創建令人驚嘆的矢量圖形,我們將使用 Aspose.Drawing for .NET API。它是一個跨平台的 2D 圖形庫,用於以編程方式繪製文本、幾何圖形和圖像。它允許加載、保存和操作支持的文件格式

下載 API 的 DLL 或使用 NuGet 安裝它。

PM> Install-Package Aspose.Drawing

矢量圖形的結構

矢量圖形由幾何形狀組成:直線、曲線和路徑。這些具有各種屬性(例如長度和顏色)的對象可以由 C# 程序進行操作。

使用 C# 進行圖形編程

我們可以繪製或繪製各種類型的形狀,包括曲線、直線、矩形、填充區域、橢圓和多邊形。 API 提供了多種繪製這些形狀的方法。我們可以按照以下步驟以編程方式創建各種不同的矢量圖形:

  1. 創建 Bitmap 類的對象。
  2. 從位圖中初始化 Graphics 類的對象。
  3. 使用所需參數定義 Pen 或 SolidBrush 類對象。
  4. 使用 Graphics 類的特定於形狀的方法來繪製所需的形狀。
  5. 最後,保存圖像。

現在,讓我們看看如何在 C# 中執行這些步驟。

使用 C# 進行圖形編程中的曲線

我們可以使用以下方法繪製圓弧、圓、橢圓或閉合曲線:

  • DrawArc() 方法繪製圓弧。
  • DrawEllipse() 方法繪製橢圓。
  • DrawClosedCurve() 方法繪製閉合曲線。
  • DrawCurve() 方法繪製曲線。

請按照以下步驟繪製曲線形狀:

  1. 首先,創建 Bitmap 類的實例。
  2. 接下來,使用 FromImage() 方法從新創建的 Bitmap 對象創建 Graphics 類對象。
  3. 然後,定義一個具有指定顏色和大小的 Pen 類對象。
  4. 之後,調用 DrawClosedCurve() 方法繪製閉合曲線。
  5. 或者,重複上述步驟以添加圓弧和橢圓。
  6. 最後,使用 Save() 方法保存輸出圖像。

以下代碼示例展示瞭如何在 C# 中繪製曲線形狀。

// 此代碼示例演示如何繪製閉合曲線、圓弧和圓。
// 創建位圖
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// 來自位圖的初始圖形
Graphics graphics = Graphics.FromImage(bitmap);

// 定義要繪製的 Pen
Pen penBlue = new Pen(Color.Blue, 4);

// 繪製曲線
graphics.DrawClosedCurve(penBlue, new Point[] { new Point(10, 700), new Point(250, 500), new Point(500, 10), new Point(750, 500), new Point(990, 700) });

// 畫弧線
Pen penRed = new Pen(Color.Red, 2);
graphics.DrawArc(penRed, 0, 0, 700, 700, 0, 180);

// 畫一個橢圓
Pen penGreen = new Pen(Color.Green, 2);
graphics.DrawEllipse(penGreen, 10, 10, 500, 500);

// 將位圖另存為 PNG
bitmap.Save("C:\\Files\\Drawing\\Curves.png");
使用 C# 進行圖形編程中的曲線

使用 C# 進行圖形編程中的曲線

使用 C# 進行圖形編程中的多邊形和矩形

我們可以按照前面提到的步驟繪製多邊形和矩形。但是,我們需要在第 4 步中使用以下方法:

  • 用於繪製多邊形的 DrawPolygon() 方法。
  • DrawRectangle() 方法繪製一個矩形。

下面的代碼示例展示瞭如何在 C# 中繪製多邊形和矩形。

// 此代碼示例演示如何繪製多邊形和矩形。
// 創建位圖
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// 來自位圖的初始圖形
Graphics graphics = Graphics.FromImage(bitmap);

// 定義要繪製的 Pen
Pen penBlue = new Pen(Color.Blue, 4);

// 繪製多邊形
graphics.DrawPolygon(pen, new Point[] { new Point(100, 100), new Point(500, 700), new Point(900, 100) });

// 畫一個矩形
Pen penRed = new Pen(Color.Red, 2);
graphics.DrawRectangle(penRed, 10, 10, 900, 700);

// 將位圖另存為 PNG
bitmap.Save("C:\\Files\\Drawing\\Shapes.png");
使用 CSharp 加載位圖中的圖像

使用 C# 在位圖中加載圖像

使用 C# 進行圖形編程中的線條

同樣,我們可以按照前面提到的步驟來畫線。但是,我們需要在步驟#4 中使用 DrawLine() 方法來繪製一條線。

以下代碼示例顯示瞭如何在 C# 中繪製線條。

// 此代碼示例演示如何繪製一條線。
// 創建位圖
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// 來自位圖的初始圖形
Graphics graphics = Graphics.FromImage(bitmap);

// 定義要繪製的 Pen
Pen penBlue = new Pen(Color.Blue, 4);

// 畫線
graphics.DrawLine(pen, 10, 700, 500, 10);
graphics.DrawLine(pen, 500, 10, 990, 700);

// 將位圖另存為 PNG
bitmap.Save("C:\\Files\\Drawing\\Lines.png");
使用 C# 進行圖形編程中的線條

使用 C# 進行圖形編程中的線條

使用 C# 進行圖形編程的路徑

在矢量圖形中,路徑表示由起點和終點以及其他點定義的一系列平滑直線。我們可以按照以下步驟繪製路徑:

  1. 首先,創建 Bitmap 類的實例。
  2. 接下來,使用 FromImage() 方法從新創建的 Bitmap 對像初始化 Graphics 類對象。
  3. 然後,定義一個具有指定顏色和大小的 Pen 類對象。
  4. 接下來,創建 GraphicsPath 類的一個實例。
  5. 然後,使用 AddLine() 方法添加行。
  6. 之後,使用 Pen 和 GraphicsPath 對象調用 DrawPath() 方法。
  7. 最後,使用 Save() 方法保存輸出圖像。

以下代碼示例顯示瞭如何在 C# 中繪製路徑。

// 此代碼示例演示如何繪製路徑。
// 創建位圖
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// 來自位圖的初始圖形
Graphics graphics = Graphics.FromImage(bitmap);

// 定義要繪製的 Pen
Pen penBlue = new Pen(Color.Blue, 4);

// 初始化圖形路徑
GraphicsPath path = new GraphicsPath();

// 添加第 1 行
path.AddLine(100, 100, 1000, 400);

// 添加第 2 行
path.AddLine(1000, 600, 300, 600);

// 添加矩形
path.AddRectangle(new Rectangle(500, 350, 200, 400));

// 添加橢圓
path.AddEllipse(10, 250, 450, 300);

// 繪製路徑
graphics.DrawPath(pen, path);

// 將位圖另存為 PNG
bitmap.Save("C:\\Files\\Drawing\\Shapes.png");
使用 C# 進行圖形編程的路徑

使用 C# 進行圖形編程的路徑

使用C#在圖形編程中填充區域

我們可以按照以下步驟繪製填充區域:

  1. 首先,創建 Bitmap 類的實例。
  2. 接下來,使用 FromImage() 方法從新創建的 Bitmap 對像初始化 Graphics 類對象。
  3. 然後,創建 GraphicsPath 類的一個實例。
  4. 同時,使用 AddPolygon() 方法添加一個多邊形。
  5. 接下來,創建 Region 類的實例。
  6. 然後,添加另一個 GraphicsPath 對象並使用 AddRectangle() 方法添加一個矩形。
  7. 接下來,調用 Exclude() 方法從區域中排除內部路徑。
  8. 然後,定義一個具有指定顏色的 SolidBrush 類對象。
  9. 之後,使用 SolidBrush 和 GraphicsPath 對象調用 FillRegion() 方法。
  10. 最後,使用 Save() 方法保存輸出圖像。

下面的代碼示例顯示瞭如何在 C# 中繪製填充區域。

// 此代碼示例演示如何繪製區域。
// 創建位圖
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// 來自位圖的初始圖形
Graphics graphics = Graphics.FromImage(bitmap);

// 添加多邊形
path.AddPolygon(new Point[] { new Point(100, 400), new Point(500, 100), new Point(900, 400), new Point(500, 700) });

// 初始化區域
Region region = new Region(path);

// 內部圖形路徑
GraphicsPath innerPath = new GraphicsPath();

// 添加一個矩形
innerPath.AddRectangle(new Rectangle(300, 300, 400, 200));

// 排除內部路徑
region.Exclude(innerPath);

// 定義實體筆刷
Brush brush = new SolidBrush(Color.Blue);

// 填充區域
graphics.FillRegion(brush, region);

// 將位圖另存為 PNG
bitmap.Save("C:\\Files\\Drawing\\Lines.png");
使用C#在圖形編程中填充區域

使用C#在圖形編程中填充區域

獲得免費的臨時許可證

您可以獲得免費的臨時許可證 試用 Aspose.Drawing for .NET,沒有評估限制。

結論

在本文中,我們學習瞭如何:

  • 創建一個新的位圖;
  • 在位圖上繪製矩形、橢圓等;
  • 繪製線條和路徑;
  • 在 C# 中將位圖圖像保存為 PNG

除了使用 C# 進行圖形編程外,您還可以使用 文檔 了解有關 Aspose.Drawing for .NET 的更多信息,並探索 API 支持的各種功能。如有任何疑問,請隨時通過我們的 免費支持論壇 與我們聯繫。

也可以看看