經常需要通過繪製形狀來創建不同的圖形對象,包括圓形、直線、矩形等。這些形狀也可以用於圖像的註釋。在本文中,您將學習如何在 C# 中以編程方式繪製不同的形狀。我們將演示如何繪製直線、橢圓、圓弧和矩形並生成它們的圖像。
用於繪製形狀的 C# API - 免費下載
要繪製不同類型的形狀,我們將使用 Aspose.Imaging for .NET。這是一個了不起的圖像編輯 API,提供了廣泛的功能來處理圖像和創建繪圖。您可以 下載 API 或從 NuGet 安裝它。
PM> Install-Package Aspose.Imaging
使用 C# 畫一條線
下面是在C#中畫線的步驟。
- 首先,創建一個 BmpOptions 類的對象並使用 BitsPerPixel 屬性設置每像素位數。
- 然後,使用 Source 屬性分配 StreamSource。
- 創建一個新圖像並使用 BmpOptions 對象和圖像的高度和寬度對其進行初始化。
- 創建一個 Graphics 類的對象並用 Image 對像初始化它。
- 使用 Graphics.Clear() 方法用一些顏色清除圖像表面。
- 使用 Graphics.DrawLine(Pen, int, int, int, int) 方法畫一條線。
- 使用 Image.Save() 方法生成並保存圖像。
下面的代碼示例顯示瞭如何在 C# 中繪製一條線。
// 創建 BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;
// 定義 BmpOptions 實例的源屬性
bmpCreateOptions.Source = new StreamSource();
// 創建 Image 的實例並通過傳遞
// bmpCreateOptions 對象
Image image = Image.Create(bmpCreateOptions, 500, 500);
// 創建並初始化 Graphics 類的實例
Graphics graphic = new Graphics(image);
// 用白色清除圖像表面
graphic.Clear(Color.White);
// 通過指定具有藍色的 Pen 對象繪製一條虛線,並且
// 坐標點
graphic.DrawLine(new Pen(Color.Blue, 3), 18, 18, 200, 200);
graphic.DrawLine(new Pen(Color.Blue, 3), 18, 200, 200, 18);
// 通過指定具有 Solid 的 Pen 對象繪製一條連續的線
// 帶紅色和兩點結構的畫筆
graphic.DrawLine(new Pen(new SolidBrush(Color.Red), 3),
new Point(18, 18), new Point(18, 200));
// 通過指定具有 Solid 的 Pen 對象繪製一條連續的線
// 具有白色和兩點結構的畫筆
graphic.DrawLine(new Pen(new SolidBrush(Color.Orange), 3),
new Point(200, 18), new Point(18, 18));
// 保存所有更改
image.Save("draw_lines.bmp");
以下是上述代碼示例的輸出。
使用 C# 繪製橢圓
下面是在C#中繪製橢圓的步驟。
- 首先,創建一個 BmpOptions 類的對象並使用 BitsPerPixel 屬性設置每像素位數。
- 然後,使用 Source 屬性分配 StreamSource。
- 創建一個新圖像並使用 BmpOptions 對象和圖像的高度和寬度對其進行初始化。
- 創建一個 Graphics 類的對象並用 Image 對像初始化它。
- 使用 Graphics.Clear() 方法用一些顏色清除圖像表面。
- 使用 Graphics.DrawEllipse(Pen, Rectangle) 方法繪製一個橢圓。
- 使用 Image.Save() 方法生成並保存圖像。
下面的代碼示例顯示瞭如何在 C# 中的圖像上繪製橢圓。
// 創建 BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;
// 定義 BmpOptions 實例的源屬性
bmpCreateOptions.Source = new StreamSource();
// 創建 Image 的實例並通過傳遞
// bmpCreateOptions 對象
Image image = Image.Create(bmpCreateOptions, 500, 500);
// 創建並初始化 Graphics 類的實例
Graphics graphic = new Graphics(image);
// 用白色清除圖像表面
graphic.Clear(Color.White);
// 通過指定具有紅色的 Pen 對象繪製虛線橢圓形狀
// 顏色和周圍的矩形
graphic.DrawEllipse(new Pen(Color.Red, 3), new Rectangle(60, 40, 70, 120));
// 通過指定 Pen 對象繪製一個連續的橢圓形狀
// solid brush with blue 顏色和周圍的矩形
graphic.DrawEllipse(new Pen(new SolidBrush(Color.Blue), 3),
new Rectangle(40, 60, 120, 70));
// 保存所有更改
image.Save("draw_ellipse.bmp");
以下是上述代碼示例的輸出。
使用 C# 繪製圓弧
下面是在C#中繪製圓弧的步驟。
- 首先,創建一個 BmpOptions 類的對象並使用 BitsPerPixel 屬性設置每像素位數。
- 然後,使用 Source 屬性分配 StreamSource。
- 創建一個新圖像並使用 BmpOptions 對象和圖像的高度和寬度對其進行初始化。
- 創建一個 Graphics 類的對象並用 Image 對像初始化它。
- 使用 Graphics.Clear() 方法用一些顏色清除圖像表面。
- 使用 Graphics.DrawArc(Pen, float x, float y, float width, float height, float startAngle, float sweepAngle) 方法繪製圓弧。
- 使用 Image.Save() 方法生成並保存圖像。
下面的代碼示例顯示瞭如何在 C# 中的圖像上繪製圓弧。
// 創建 BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;
// 定義 BmpOptions 實例的源屬性
bmpCreateOptions.Source = new StreamSource();
// 創建 Image 的實例並通過傳遞
// bmpCreateOptions 對象
Image image = Image.Create(bmpCreateOptions, 500, 500);
// 創建並初始化 Graphics 類的實例
Graphics graphic = new Graphics(image);
// 用白色清除圖像表面
graphic.Clear(Color.White);
// 通過指定具有紅黑色的 Pen 對象繪製虛線弧形
// 顏色和坐標、高度、寬度、開始和結束角度
int width = 200;
int height = 300;
int startAngle = 45;
int sweepAngle = 270;
// 繪製圓弧到屏幕
graphic.DrawArc(new Pen(Color.Black, 3), 0, 0, width, height, startAngle, sweepAngle);
// 保存所有更改
image.Save("draw_arc.bmp");
以下是上述代碼示例的輸出。
使用 C# 繪製矩形
下面是在C#中繪製矩形的步驟。
- 首先,創建一個 BmpOptions 類的對象並使用 BitsPerPixel 屬性設置每像素位數。
- 然後,使用 Source 屬性分配 StreamSource。
- 創建一個新圖像並使用 BmpOptions 對象和圖像的高度和寬度對其進行初始化。
- 創建一個 Graphics 類的對象並用 Image 對像初始化它。
- 使用 Graphics.Clear() 方法用一些顏色清除圖像表面。
- 使用 Graphics.DrawRectangle(Pen, Rectangle) 方法繪製一個矩形。
- 使用 Image.Save() 方法生成並保存圖像。
下面的代碼示例顯示瞭如何在 C# 中的圖像上繪製矩形。
// 創建 BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;
// 定義 BmpOptions 實例的源屬性
bmpCreateOptions.Source = new StreamSource();
// 創建 Image 的實例並通過傳遞
// bmpCreateOptions 對象
Image image = Image.Create(bmpCreateOptions, 500, 500);
// 創建並初始化 Graphics 類的實例
Graphics graphic = new Graphics(image);
// 用白色清除圖像表面
graphic.Clear(Color.White);
// 通過指定具有紅色的 Pen 對象繪製虛線矩形形狀
// 顏色和矩形結構
graphic.DrawRectangle(new Pen(Color.Red, 3),
new Rectangle(60, 40, 70, 120));
// 通過指定 Pen 對象繪製一個連續的矩形形狀
// solid brush with blue 顏色和矩形結構
graphic.DrawRectangle(new Pen(new SolidBrush(Color.Blue), 3),
new Rectangle(40, 60, 120, 70));
// 保存所有更改
image.Save("draw_reactangle.bmp");
以下是上述代碼示例的輸出。
C# .NET Image Drawing API - 獲取免費許可證
您可以 獲得免費的臨時許可證 並在不受評估限制的情況下繪製形狀。
結論
在本文中,您學習瞭如何在 C# 中繪製形狀。我們已經介紹瞭如何以編程方式在圖像上繪製直線、橢圓、弧和矩形。您可以輕鬆地將提供的代碼示例集成到您的 C# 應用程序中。
閱讀更多
您可以使用 文檔 探索有關 .NET 圖像處理 API 的更多信息。此外,您可以通過我們的 論壇 與我們分享您的疑問。