在 C# 中绘制形状是一项常见任务,而绘制圆形是最基本的形状之一。了解如何在 C# 中绘制圆。在这篇博文中,我们还将向您展示如何使用 C# 以编程方式填充圆圈。
本文涵盖以下主题:
C# Graphics API 绘制圆
我们将使用 Aspose.Drawing for .NET 在 C# 中绘制一个圆。它是一个完全托管、跨平台、完整的 2D 图形库,用于绘制文本、几何图形和图像。它提供了广泛的图像处理操作,包括裁剪、调整大小、旋转、翻转和水印。这使其成为需要在应用程序中创建和编辑图像的开发人员的理想选择。
请下载 API 的 DLL 或使用 NuGet 安装它。
PM> Install-Package Aspose.Drawing
在 C# 中画一个圆
我们可以按照以下步骤轻松绘制一个圆:
- 创建 Bitmap 类的实例。
- 使用 FromImage() 方法从 Bitmap 对象创建一个新的 Graphics 对象。
- 使用指定的颜色和大小初始化 Pen 类对象。
- 之后,调用DrawEllipse()方法绘制指定大小的圆。
- 最后,使用 Save() 方法保存输出图像。
以下代码示例展示了如何在 C# 中绘制圆。
// 创建一个新的位图
Bitmap bitmap = new Bitmap(500, 500, PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
// 创建 Pen 类实例
Pen pen = new Pen(Color.Red, 5);
// 画圆
graphics.DrawEllipse(pen, 1, 1, 490, 490);
// 保存输出绘图图像
bitmap.Save("C:\\Files\\DrawCircle.jpg");
在 C# 中绘制实心圆
同样,我们可以按照以下步骤绘制一个实心圆:
- 创建 Bitmap 类的实例。
- 使用 FromImage() 方法从 Bitmap 对象创建一个新的 Graphics 对象。
- 使用指定的颜色初始化 SolidBrush 类对象。
- 之后,调用 FillEllipse() 方法绘制一个实心圆。
- 最后,使用 Save() 方法保存输出图像。
以下代码示例展示了如何在 C# 中绘制实心圆。
// 创建一个新的位图
Bitmap bitmap = new Bitmap(500, 500, PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
// 创建 Brush 类实例
Brush brush = new SolidBrush(Color.Blue);
// 绘制实心圆
graphics.FillEllipse(brush, 1, 1, 490, 490);
// 保存输出绘图图像
bitmap.Save("C:\\Files\\DrawFilledCircle.jpg");
在 C# 中画一个带边框的圆
我们也可以按照前面提到的步骤,用 broder 绘制一个实心圆。我们将创建两个圆:外圆作为边框,内圆为填充圆。
以下代码示例展示了如何在 C# 中绘制带边框的圆形。
// 初始化 Bitmap 类对象
Bitmap bitmap = new Bitmap(500, 500, PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
// 画一个实心圆
Brush brush = new SolidBrush(Color.Blue);
// 绘制填充的内圆
graphics.FillEllipse(brush, 5, 5, 490, 490);
// 创建 Pen 类实例
Pen pen = new Pen(Color.Red, 10);
// 画出外圆
graphics.DrawEllipse(pen, 5, 5, 490, 490);
// 保存输出绘图图像
bitmap.Save("C:\\Files\\DrawCircleWithBorder.jpg");
获取免费许可证
您可以获得免费的临时许可证来评估该 API 的全部功能。
C# 画圆 – 免费学习资源
您可以使用以下资源了解有关绘制基本形状的更多信息并探索该库的各种其他功能:
结论
在本文中,我们学习了如何用 C# 绘制曲线。我们还了解了如何使用 Aspose.Drawing for .NET 以编程方式绘制实心圆并设置其边框。通过利用 Aspose.Drawing,您还可以将矢量图形(例如直线、曲线和图形)以及各种字体、大小和样式的文本渲染到光栅图像上。如有任何疑问,请随时通过我们的免费支持论坛与我们联系。