图像剪辑,也称为图像遮罩或对象提取,是一种用于图形设计和图像处理的技术。它用于从图像中隔离特定的对象或主题。在本文中,我们将探索 C# 中的图像剪辑实现。学习分步技术来提取对象并增强您的设计。
本文应涵盖以下主题:
C# Image Clipping API - 免费下载
为了在 C# 中实现图像剪辑,我们将使用 Aspose.Drawing for .NET API。它是一个跨平台的 2D 图形库,用于以编程方式绘制文本、几何图形和图像。它允许加载、保存和操作支持的文件格式。
请 下载 API 的 DLL 或使用 NuGet 安装它。
PM> Install-Package Aspose.Drawing
C# 图像裁剪
我们可以按照下面给出的步骤以编程方式实现图像裁剪:
- 首先,创建 Bitmap 类的实例。
- 接下来,使用 FromImage() 方法创建 Graphics 类对象。
- 然后,使用 GraphicsPath 类定义剪辑路径。
- 之后,使用 SetClip() 方法设置剪辑路径。
- 最后,使用 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# 中从图像中提取对象
我们可以按照前面提到的步骤使用图像剪辑来提取图像的特定部分。但是,我们只需要加载现有图像并使用 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");
获得免费的临时许可证
您可以获得免费的临时许可证 试用 Aspose.Drawing for .NET,没有评估限制。
Aspose.Drawing – 免费学习资源
除了 C# 中的图像剪辑之外,您还可以使用下面提供的资源了解有关库的各种功能的更多信息:
结论
在本文中,我们学习了如何在 C# 中实现图像裁剪。按照分步说明和代码示例,您可以轻松地从图像中精确提取对象。如有任何疑问,请随时通过我们的 免费支持论坛 与我们联系。