在我之前的 文章 中,我向您概述了我们的 .NET 图形 API - Aspose.Drawing for .NET。除此之外,我们还了解了如何使用 C# 从头开始创建图像或在现有图像上绘制图形。在本文中,我们将先一步学习如何通过在 .NET 应用程序(如 ASP.NET Web 应用程序、Windows 应用程序等)中绘制各种图形对象来创建 2D 绘图。
以下是我们将使用 .NET Graphics API 在绘图中绘制的矢量图形。
在我们开始之前,请确保您已经在您的 .NET 应用程序中安装了 Aspose.Drawing for .NET。您可以在 this post 中阅读有关安装方法的信息。
使用 C# 从头开始创建绘图
首先,让我们看看如何创建一个空绘图并将其保存为PNG图像。这些步骤就像馅饼一样简单。
- 创建一个新的 Bitmap 对象。
- 使用 Bitmap.Save(string) 方法以 PNG 格式保存绘图。
您也可以将绘图保存为其他图像格式。以下代码示例展示了如何使用 C# 从头开始创建绘图。
// 在 C# .NET 中创建新图形并呈现为 PNG 的示例。
// 有关更多示例,请参见 https://github.com/aspose-drawing/Aspose.Drawing-for-.NET 和 https://docs.aspose.com/drawing/net/。
// 创建新图纸
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
// 保存绘图
bitmap.Save(RunExamples.GetDataDir() + @"drawing.png");
使用 C# 在绘图中绘制圆弧
让我们看看如何在图纸中绘制圆弧。以下是执行此操作的步骤。
- 定义 Bitmap 类的实例。
- 从 Bitmap 对象初始化 Graphics 类的对象。
- 创建一个 Pen 对象来绘制弧线。
- 使用 Graphics.DrawArc(Pen, Single, Single, Single, Single, Single, Single) 方法绘制圆弧。
- 使用 Bitmap.Save(string) 方法将绘图保存为图像。
以下代码示例展示了如何使用 C# 在图形中绘制圆弧。
// 如需完整的示例和数据文件,请访问 https://github.com/aspose-drawing/Aspose.Drawing-for-.NET
using System.Drawing;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
graphics.DrawArc(pen, 0, 0, 700, 700, 0, 180);
bitmap.Save("DrawArc.png");
使用 C# 在绘图中绘制贝塞尔样条曲线
以下是在图纸中绘制贝塞尔样条曲线的步骤。
- 创建 Bitmap 类的对象。
- 从 Bitmap 对象初始化 Graphics 类的对象。
- 创建一个 Pen 对象来绘制图形。
- 使用 Graphics.DrawBezier(Pen, PointF, PointF, PointF, PointF) 方法绘制 Bezier Spline。
- 使用 Bitmap.Save(string) 方法保存绘图。
以下代码示例使用 C# 创建贝塞尔样条曲线。
// 如需完整的示例和数据文件,请访问 https://github.com/aspose-drawing/Aspose.Drawing-for-.NET
using System.Drawing;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
PointF p1 = new PointF(0, 0); // start point
PointF c1 = new PointF(0, 800); // first control point
PointF c2 = new PointF(1000, 0); // second control point
PointF p2 = new PointF(1000, 800); // end point
graphics.DrawBezier(pen, p1, c1, c2, p2);
bitmap.Save("DrawBezierSpline.png");
使用 C# 在绘图中添加基数样条
使用我们的 .NET 图形 API 使用以下步骤绘制基本样条曲线。
- 实例化 Bitmap 类的对象。
- 从 Bitmap 对象创建 Graphics 类的对象。
- 为绘图创建一个 Pen 对象。
- 使用 Graphics.DrawCurve(Pen,Point[]) 方法绘制基数样条。
- 使用 Bitmap.Save(string) 方法将绘图保存为图像。
以下 C# 代码示例使用 Aspose.Drawing for .NET 绘制基数样条曲线。
// 如需完整的示例和数据文件,请访问 https://github.com/aspose-drawing/Aspose.Drawing-for-.NET
using System.Drawing;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
graphics.DrawCurve(pen, new Point[] { new Point(10, 700), new Point(250, 500), new Point(500, 10), new Point(750, 500), new Point(990, 700) });
bitmap.Save("DrawCardinalSpline.png");
使用 C# 在绘图中添加闭合曲线
您也可以像绘制其他图形对象一样绘制闭合曲线。以下是执行此操作的步骤。
- 实例化一个 Bitmap 对象。
- 创建一个 Graphics 类的对象并从 Bitmap 对象初始化它。
- 创建一个 Pen 对象用于绘制闭合曲线。
- 使用 Graphics.DrawClosedCurve(Pen,Point[]) 方法绘制闭合曲线。
- 使用 Bitmap.Save(string) 方法保存绘图。
您可以使用以下 C# 代码示例绘制闭合曲线。
// 如需完整的示例和数据文件,请访问 https://github.com/aspose-drawing/Aspose.Drawing-for-.NET
using System.Drawing;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
graphics.DrawClosedCurve(pen, new Point[] { new Point(100, 700), new Point(350, 600), new Point(500, 500), new Point(650, 600), new Point(900, 700) });
bitmap.Save("DrawClosedCurve.png");
使用 C# 在绘图中绘制椭圆
以下是使用 Aspose.Drawing for .NET 在绘图中绘制椭圆的步骤。
- 创建 Bitmap 类的实例。
- 定义 Graphics 类的实例并从 Bitmap 对象初始化它。
- 使用 Pen 对象绘制椭圆。
- 使用 Graphics.DrawEllipse(Pen, Single, Single, Single, Single) 方法绘制一个椭圆。
- 使用 Bitmap.Save(string) 方法将绘图保存为图像。
以下代码示例展示了如何使用 C# 绘制椭圆。
// 如需完整的示例和数据文件,请访问 https://github.com/aspose-drawing/Aspose.Drawing-for-.NET
using System.Drawing;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
graphics.DrawEllipse(pen, 10, 10, 900, 700);
bitmap.Save("DrawEllipse.png");
使用 C# 在绘图中绘制线条
线条是创建图纸的基本对象之一。以下是使用 Aspose 的 Graphics API 在绘图中绘制线条的步骤。
- 实例化 Bitmap 对象。
- 创建一个新的 Graphics 对象并从 Bitmap 对象初始化它。
- 定义一个 Pen 对象来绘制线条。
- 使用 Graphics.DrawLine(Pen, Int32, Int32, Int32, Int32) 方法画一条线。
- 使用 Bitmap.Save(string) 方法保存绘图。
以下代码示例演示如何使用 C# 在图形中绘制线条。
// 如需完整的示例和数据文件,请访问 https://github.com/aspose-drawing/Aspose.Drawing-for-.NET
using System.Drawing;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
graphics.DrawLine(pen, 10, 700, 500, 10);
graphics.DrawLine(pen, 500, 10, 990, 700);
bitmap.Save("DrawLines.png");
使用 C# 在绘图中绘制路径
以下是使用 C# 在图形中绘制路径的步骤。
- 实例化 Bitmap 对象。
- 创建一个 Graphics 类的对象并从 Bitmap 对象初始化它。
- 定义一个 Pen 对象来绘制路径。
- 创建 GraphicsPath 类的实例。
- 将图形添加到路径集合。
- 使用 Graphics.DrawPath(Pen, GraphicsPath) 方法绘制路径。
- 使用 Bitmap.Save(string) 方法保存绘图。
以下代码示例演示如何使用 C# 在图形中绘制路径。
// 如需完整的示例和数据文件,请访问 https://github.com/aspose-drawing/Aspose.Drawing-for-.NET
using System.Drawing;
using System.Drawing.Drawing2D;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
GraphicsPath path = new GraphicsPath();
path.AddLine(100, 100, 1000, 400);
path.AddLine(1000, 600, 300, 600);
path.AddRectangle(new Rectangle(500, 350, 200, 400));
path.AddEllipse(10, 250, 450, 300);
graphics.DrawPath(pen, path);
bitmap.Save("DrawPath.png");
使用 C# 在绘图中绘制多边形
以下是使用 Aspose.Drawing for .NET 在图形中绘制多边形的步骤。
- 实例化 Bitmap 对象。
- 定义一个 Graphics 对象并从 Bitmap 对象初始化它。
- 定义一个 Pen 对象来绘制多边形。
- 使用 Graphics.DrawPolygon(Pen,Point[]) 方法绘制多边形。
- 使用 Bitmap.Save(string) 方法保存绘图。
这是使用 C# 在图形中绘制多边形的方法。
// 如需完整的示例和数据文件,请访问 https://github.com/aspose-drawing/Aspose.Drawing-for-.NET
using System.Drawing;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
graphics.DrawPolygon(pen, new Point[] { new Point(100, 100), new Point(500, 700), new Point(900, 100) });
bitmap.Save("DrawPolygon.png");
使用 C# 在绘图中绘制一个矩形
最后但并非最不重要的一点是,绘制一个矩形。以下是绘制矩形的步骤。
- 创建一个 位图 对象。
- 创建一个 Graphics 对象并从 Bitmap 对象初始化它。
- 定义一个 Pen 对象来绘制矩形。
- 使用 Graphics.DrawRectangle(Pen, Int32, Int32, Int32, Int32) 方法绘制一个矩形。
- 使用 Bitmap.Save(string) 方法保存绘图。
以下 C# 代码示例在图形中绘制一个矩形。
// 如需完整的示例和数据文件,请访问 https://github.com/aspose-drawing/Aspose.Drawing-for-.NET
using System.Drawing;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
graphics.DrawRectangle(pen, 10, 10, 900, 700);
bitmap.Save("DrawRectangle.png");
结论
在本文中,我们了解了如何使用 C# 以编程方式在绘图中绘制各种图形对象。分步指南和代码示例演示了如何在图纸中绘制直线、矩形、多边形、圆弧、贝塞尔样条、基数样条、曲线和椭圆。您可以使用 文档 了解有关我们的 .NET 图形 API 的更多信息。