我们经常得到尺寸不符合我们要求的图像,因此,我们必须相应地调整它们的大小。在本文中,您将学习如何在 .NET 应用程序中使用 C# 调整图像大小。此外,在 C# 代码示例的帮助下,我们将演示如何调整光栅和矢量图像的大小。
用于调整图像大小的 C# API - 免费下载
调整图像大小。我们将使用 Aspose.Imaging for .NET。它是一个强大的图像处理 API,用于处理各种类型的光栅和矢量图像。您可以下载 API 的 DLL 或通过 NuGet 安装它。
PM> Install-Package Aspose.Imaging
在 C# 中调整光栅图像的大小
有两种方法可以调整光栅图像(PNG、GIF、JPEG 等)的大小:简单调整大小和使用调整大小类型调整大小。在简单调整大小中,通过提供高度和宽度来调整图像大小。然而,第二种方法使用不同的调整大小技术。以下部分演示如何使用上述每种方法调整图像大小。
C# 简单的图像大小调整
以下是在 C# 中调整图像大小的步骤。
- 首先,使用 Image 类加载图像文件。
- 然后,通过调用 Image.Resize(Int32, Int32) 方法调整图像大小。
- 最后,使用 Image.Save(string) 方法保存调整大小的图像。
以下代码示例显示了如何在 .NET 应用程序中调整图像大小。
// 加载图像
using (Image image = Image.Load("aspose-logo.jpg"))
{
// 调整图像大小并保存调整后的图像
image.Resize(300, 300);
image.Save("SimpleResizing_out.jpg");
}
C# 使用调整大小类型调整图像大小
ResizeType 枚举用于指定您可以根据需要使用的调整大小技术。支持的大小调整类型的完整列表可在 此处 获得。以下是使用特定调整大小技术调整图像大小的步骤。
- 首先,使用 Image 类加载图像。
- 然后,通过调用 Image.Resize(Int32, Int32, ResizeType) 方法调整图像大小。
- 最后,使用 Image.Save(string) 方法保存调整大小的图像。
以下代码示例使用特定的调整大小技术调整图像大小。
// 加载图像
using (Image image = Image.Load("aspose-logo.jpg"))
{
// 调整图像大小并保存调整后的图像
image.Resize(300, 300, ResizeType.LanczosResample);
image.Save("SimpleResizing_out.jpg");
}
在 C# 中按比例调整图像大小
通过指定高度和宽度来调整图像大小可能会导致图像缩小或缩放。因此,您必须手动计算纵横比。但是,纵横比的任何错误计算都可能导致图像拉伸。为避免此类问题,您可以使用按比例调整大小。以下是实现此目的的步骤。
- 首先,使用 Image 类加载图像文件。
- 然后,使用 Image.CacheData() 方法缓存图像数据。
- 指定图像的新高度和宽度。
- 使用 Image.ResizeWidthProportionally(Int32) 和 Image.ResizeHeightProportionally(Int32) 方法计算比例值。
- 最后,使用 Image.Save(string) 方法保存调整大小的图像。
如果您想在按比例调整图像大小时使用任何特定的调整大小类型,请使用重载方法 Image.ResizeWidthProportionally(Int32, ResizeType) 和 Image.ResizeHeightProportionally(Int32, ResizeType)。
以下代码示例展示了如何使用 C# 按比例调整图像大小。
// 加载图像
using (Image image = Image.Load("aspose-logo.png"))
{
// 缓存图像数据
if (!image.IsCached)
{
image.CacheData();
}
// 指定宽度和高度
int newWidth = image.Width / 2;
image.ResizeWidthProportionally(newWidth);
int newHeight = image.Height / 2;
image.ResizeHeightProportionally(newHeight);
// 保存图片
image.Save("ResizeImageProportionally_out.png");
}
在 C# 中调整矢量图像的大小
Aspose.Imaging for .NET 还允许您调整矢量图像的大小并将它们保存为光栅图像格式。以下代码示例显示了如何调整 SVG 图像的大小并将输出保存为 PNG 格式。
// 加载图像
using (Image image = Image.Load("image.svg"))
{
// 将图像大小调整为 PNG
image.Resize(image.Width * 10,image.Height * 15);
image.Save("Logotype_10_15.png", new PngOptions()
{
VectorRasterizationOptions = new SvgRasterizationOptions()
});
}
C# Image Resizing API - 获取免费许可证
您可以 获得免费的临时许可证 调整图像大小而不受评估限制。
结论
在本文中,您学习了如何使用 C# 以编程方式调整图像大小。此外,代码示例还演示了如何执行简单的图像大小调整或使用特定类型调整大小。我们还介绍了如何在调整图像大小时避免手动计算纵横比。此外,最后还讨论了矢量图像的大小调整。此外,您可以使用 documentation 探索更多关于 .NET 图像处理 API 的信息。此外,您可以从 GitHub 下载完整的源代码示例包。如有任何疑问,您可以在我们的 论坛 上与我们联系。