C# 中的图像裁剪

图像剪辑,也称为图像遮罩或对象提取,是一种用于图形设计和图像处理的技术。它用于从图像中隔离特定的对象或主题。在本文中,我们将探索 C# 中的图像剪辑实现。学习分步技术来提取对象并增强您的设计。

本文应涵盖以下主题:

  1. C# Image Clipping API - 免费下载
  2. 如何实现C#图像裁剪
  3. 在 C# 中从图像中提取对象
  4. 免费学习资源

C# Image Clipping API - 免费下载

为了在 C# 中实现图像剪辑,我们将使用 Aspose.Drawing for .NET API。它是一个跨平台的 2D 图形库,用于以编程方式绘制文本、几何图形和图像。它允许加载、保存和操作支持的文件格式

下载 API 的 DLL 或使用 NuGet 安装它。

PM> Install-Package Aspose.Drawing

C# 图像裁剪

我们可以按照下面给出的步骤以编程方式实现图像裁剪:

  1. 首先,创建 Bitmap 类的实例。
  2. 接下来,使用 FromImage() 方法创建 Graphics 类对象。
  3. 然后,使用 GraphicsPath 类定义剪辑路径。
  4. 之后,使用 SetClip() 方法设置剪辑路径。
  5. 最后,使用 Save() 方法保存输出图像。

下面的代码示例展示了如何在 C# 中实现图像裁剪。

// 创建一个新的位图
var bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// 初始化图形
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;

// 定义剪辑
Rectangle rectangle = new Rectangle(200, 200, 600, 400);
GraphicsPath clipPath = new GraphicsPath();
clipPath.AddEllipse(rectangle);
graphics.SetClip(clipPath);

// 指定字符串
StringFormat stringFormat = new StringFormat();
stringFormat.Alignment = StringAlignment.Center;
stringFormat.LineAlignment = StringAlignment.Center;
Brush brush = new SolidBrush(Color.Red);
Font arial = new Font("Arial", 20, FontStyle.Regular);
string text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " +
    "Maecenas sapien tellus, mattis et condimentum eget, commodo ut ipsum. " +
    "Maecenas elit sapien, tempus sit amet mauris sit amet, hendrerit laoreet nisi. " +
    "Nulla facilisi. Sed commodo, mauris eget porta commodo, nunc tellus volutpat mi, " +
    "eu auctor diam libero vel neque. Vestibulum nec mattis dui, nec molestie nisl. " +
    "Etiam in magna felis. Praesent non nulla tortor. Integer nec convallis purus. " +
    "Fusce vitae mollis mauris. Cras efficitur dui at mi viverra scelerisque. " +
    "Morbi quis magna elit. Nulla facilisis id ante sit amet fringilla. " +
    "Sed iaculis consectetur lectus a interdum. Etiam ut sollicitudin lectus, et congue lectus.";

// 拉绳
graphics.DrawString(text, arial, brush, rectangle, stringFormat);

// 节省
bitmap.节省("C:\\Files\\Clipping.png");
C# 图像裁剪

C# 图像裁剪

在 C# 中从图像中提取对象

我们可以按照前面提到的步骤使用图像剪辑来提取图像的特定部分。但是,我们只需要加载现有图像并使用 DrawImage() 方法绘制它。

以下代码示例展示了如何在 C# 中使用从图像中提取对象。

// 创建一个新的位图
var bitmap = new Bitmap(225, 225, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// 初始化图形
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;

// 定义剪辑
Rectangle rectangle = new Rectangle(0, 0, 225, 225);
GraphicsPath clipPath = new GraphicsPath();
clipPath.AddEllipse(rectangle);
graphics.SetClip(clipPath);

// 加载图像
Bitmap image = new Bitmap(@"C:\Files\aspose-logo.png");

// 在指定位置绘制图像
graphics.DrawImage(image,0,0);

bitmap.Save("C:\\Files\\extract-object.png");
在 C# 中从图像中提取对象

在 C# 中从图像中提取对象

获得免费的临时许可证

您可以获得免费的临时许可证 试用 Aspose.Drawing for .NET,没有评估限制。

Aspose.Drawing – 免费学习资源

除了 C# 中的图像剪辑之外,您还可以使用下面提供的资源了解有关库的各种功能的更多信息:

结论

在本文中,我们学习了如何在 C# 中实现图像裁剪。按照分步说明和代码示例,您可以轻松地从图像中精确提取对象。如有任何疑问,请随时通过我们的 免费支持论坛 与我们联系。

也可以看看