C# .NET 位图图形 API

您会遇到各种允许您绘制图形和生成图像的绘图应用程序(即 MS Paint)。但是,如果您想创建自己的绘图实用程序或将绘图功能集成到您的 Web 或桌面应用程序中怎么办?对于此类情况,Aspose 提供其 .NET Graphics API 作为 Aspose.Drawing for .NET,这是一种用于创建与 GDI+ 相同的位图图像和图形的轻量级解决方案。因此,您可以在 .NET 应用程序中使用 C# 创建位图。

用于创建位图的 C# .NET API - C# 位图示例概述

在不依赖本机代码和库的情况下,Aspose.Drawing for .NET 允许您绘制各种图形对象,例如直线、圆弧、矩形、多边形、椭圆等,以及使用钢笔和画笔创建使用 C# 或 VB.NET 的二维图形。让我们来看看如何使用 C# 和这个惊人的绘图 API 从头开始创建图像或在现有图像上绘制图形。

C# .NET 图形 API - 安装

在开始之前,我们先来看看Aspose.Drawing for .NET的安装方法。您可以 下载 API 的 DLL 或使用 Visual Studio 中的 NuGet 安装它。

PM> Install-Package Aspose.Drawing

在 C# 中从头开始创建位图图像

在本节中,我将向您展示如何使用 API 从头开始创建图像。为了演示,我将只向图像添加几个图形对象,但是,可以扩展相同的代码以添加其他对象。以下是使用 Aspose.Drawing for .NET 创建图像的步骤。

以下代码示例显示了如何在 C# 中创建位图图像。

// 创建位图对象
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// 创建并初始化 Graphics
Graphics graphics = Graphics.FromImage(bitmap);            
// 创建笔
Pen pen = new Pen(Color.FromKnownColor(KnownColor.Blue), 2);
// 画圆弧
graphics.DrawArc(pen, 0, 0, 700, 700, 0, 180);
// 创建另一支笔
Pen pen1 = new Pen(Color.FromKnownColor(KnownColor.Red), 2);
// 画椭圆
graphics.DrawEllipse(pen1, 10, 10, 900, 700);
// 将绘图保存为所需的图像格式
bitmap.Save(@"drawing.png");

输出位图图像

在 C# 中从头开始创建图像

您可以访问以下文档文章以获取绘制其他图形对象的代码示例:

在 C# 中的现有位图图像上绘制图形

您还可以加载现有图像并在其上绘制所需的图形对象。加载和使用现有图像与创建新图像一样简单。以下是执行此操作的步骤。

  • 创建 Bitmap 类的实例并使用图像的路径对其进行初始化。
  • 以与上一个示例相同的方式绘制所需的图形,例如直线、多边形等。
  • 使用 Bitmap.Save(string) 方法保存更新后的图像。

下面的代码示例展示了如何使用 C# 在现有图像上绘制图形。

// 使用输入图像初始化位图
Bitmap bitmap = new Bitmap("input.png");
// 初始化图形
Graphics graphics = Graphics.FromImage(bitmap);
// 创建一支笔
Pen pen = new Pen(Color.FromKnownColor(KnownColor.Orange), 4);
// 绘制多边形
graphics.DrawPolygon(pen, new Point[] { new Point(100, 100), new Point(500, 400), new Point(900, 100) });
// 将绘图保存为所需的图像格式
bitmap.Save(@"drawing_updated.png");

输出

在图像上绘制图形 C#

C# .NET 位图 API - 获取免费许可证

您可以获得免费的临时许可证 来创建不受评估限制的位图图像。

结论

在本文中,我向您展示了如何使用 Aspose.Drawing for .NET 的基本功能并在 C# 中从头开始创建位图图像。此外,您还了解了如何使用 C# 向现有位图图像添加图形。为了探索 API 的所有功能,您可以查阅 文档 并下载 代码示例

对于即将发布的关于 Aspose.Drawing for .NET 的帖子和教程,请继续关注并继续访问 Aspose.Drawing 产品系列 部分。