经常需要通过绘制形状来创建不同的图形对象,包括圆形、直线、矩形等。这些形状也可以用于图像的注释。在本文中,您将学习如何在 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 的更多信息。此外,您可以通过我们的 论坛 与我们分享您的疑问。