C# 中的图形编程似乎比您想象的更容易或更难。在本文中,您将学习如何以编程方式创建令人惊叹的矢量图形。无论您是将图形创建为当前项目的一部分,还是作为您自己的游戏或应用程序的基础!您将学习轻松创建美丽的视觉效果。让我们开始吧!
本文将涵盖以下主题:
C# 矢量图形编程 API - 免费下载
为了在 C# 中创建令人惊叹的矢量图形,我们将使用 Aspose.Drawing for .NET API。它是一个跨平台的 2D 图形库,用于以编程方式绘制文本、几何图形和图像。它允许加载、保存和操作支持的文件格式。
请下载 API 的 DLL 或使用 NuGet 安装它。
PM> Install-Package Aspose.Drawing
矢量图形的结构
矢量图形由几何形状组成:直线、曲线和路径。这些具有各种属性(例如长度和颜色)的对象可以通过 C# 程序进行操作。
使用 C# 进行图形编程
我们可以绘制或绘制各种类型的形状,包括曲线、直线、矩形、填充区域、椭圆和多边形。 API 提供了各种方法来绘制这些形状。我们可以按照以下步骤以编程方式创建各种不同的矢量图形:
- 创建 Bitmap 类的对象。
- 从位图中初始化 Graphics 类的对象。
- 使用所需参数定义 Pen 或 SolidBrush 类对象。
- 使用 Graphics 类的特定于形状的方法来绘制所需的形状。
- 最后,保存图像。
现在,让我们看看如何在 C# 中执行这些步骤。
使用 C# 进行图形编程的曲线
我们可以使用以下方法绘制圆弧、圆、椭圆或闭合曲线:
- DrawArc() 方法绘制圆弧。
- DrawEllipse() 方法来绘制一个椭圆。
- 绘制闭合曲线的 DrawClosedCurve() 方法。
- DrawCurve() 方法绘制曲线。
请按照以下步骤绘制曲线形状:
- 首先,创建 Bitmap 类的实例。
- 接下来,使用来自新创建的 Bitmap 对象的 FromImage() 方法创建 Graphics 类对象。
- 然后,定义一个具有指定颜色和大小的 Pen 类对象。
- 之后,调用 DrawClosedCurve() 方法绘制闭合曲线。
- 或者,重复上述步骤以添加圆弧和椭圆。
- 最后,使用 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# 进行图形编程中的多边形和矩形
我们可以按照前面提到的步骤绘制多边形和矩形。但是,我们需要在步骤#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");
使用 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# 进行图形编程的路径
在矢量图形中,路径表示由起点和终点以及其他点定义的一系列平滑直线。我们可以按照以下步骤绘制路径:
- 首先,创建 Bitmap 类的实例。
- 接下来,使用 FromImage() 方法从新创建的 Bitmap 对象初始化 Graphics 类对象。
- 然后,定义一个具有指定颜色和大小的 Pen 类对象。
- 接下来,创建 GraphicsPath 类的实例。
- 然后,使用 AddLine() 方法添加行。
- 之后,使用 Pen 和 GraphicsPath 对象调用 DrawPath() 方法。
- 最后,使用 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# 在图形编程中填充区域
我们可以按照以下步骤绘制填充区域:
- 首先,创建 Bitmap 类的实例。
- 接下来,使用 FromImage() 方法从新创建的 Bitmap 对象初始化 Graphics 类对象。
- 然后,创建 GraphicsPath 类的实例。
- 同时,使用 AddPolygon() 方法添加一个多边形。
- 接下来,创建 Region 类的实例。
- 然后,添加另一个 GraphicsPath 对象并使用 AddRectangle() 方法添加一个矩形。
- 接下来,调用 Exclude() 方法从区域中排除内部路径。
- 然后,定义一个具有指定颜色的 SolidBrush 类对象。
- 之后,使用 SolidBrush 和 GraphicsPath 对象调用 FillRegion() 方法。
- 最后,使用 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");
获得免费临时许可证
您可以获得免费的临时许可证 试用 Aspose.Drawing for .NET,而不受评估限制。
结论
在本文中,我们学习了如何:
- 创建一个新的位图;
- 在位图上绘制矩形、椭圆等;
- 画线和路径;
- 在 C# 中将位图图像保存为 PNG。
除了使用 C# 进行图形编程外,您还可以使用 文档 了解更多关于 Aspose.Drawing for .NET 的信息,并探索 API 支持的各种功能。如有任何歧义,请随时在我们的 免费支持论坛 上与我们联系。