Contrast)、brightness 和 gamma 是用于调整图像的流行属性。这些属性的不同值被设置为控制和增强图像的外观。在本文中,我们将向您展示如何在 C# 中以编程方式调整图像的对比度、亮度和伽玛。您可以利用它在 .NET 应用程序中实现图像编辑功能。
用于调整图像对比度、亮度和 Gamma 的 C# API
Aspose.Imaging for .NET 是一个功能强大且功能丰富的图像处理 API,适用于 .NET/.NET 标准平台。它支持对各种图像格式的操作,而无需编写复杂的代码。我们将使用此 API 在 C# 中调整图像的对比度、亮度和伽玛。您可以 下载 API 或使用 NuGet 将其安装到您的 .NET 应用程序中。
PM> Install-Package Aspose.Imaging
在 C# 中调整图像的对比度
对比度定义为像素强度的差异。调整其值以使图像中的对象更加可见和可区分。高对比度下,图像中的每个物体看起来都非常清晰,就像在阳光下拍摄的照片一样。而在低对比度的情况下,您很难像在雾天那样区分物体。
让我们看看如何使用 Aspose.Imaging for .NET 在 C# 中调整图像的对比度。
- 首先,使用 Image 类加载图像。
- 然后,将对象转换为 RasterImage 类型。
- 如果不使用 RasterImage.CacheData() 方法,则缓存图像。
- 使用 RasterImage.AdjustContrast(float) 方法在 [-100, 100] 范围内调整对比度。
- 最后,使用 RasterImage.Save(string) 方法保存生成的图像。
以下代码示例展示了如何在 C# 中调整图像的对比度。
// 在 Image 的实例中加载图像
using (Image image = Image.Load("image.png"))
{
// 投射到光栅图像
RasterImage rasterImage = (RasterImage)image;
// 缓存 RasterImage 以获得更好的性能
if (!rasterImage.IsCached)
{
rasterImage.CacheData();
}
// 调整对比度
rasterImage.AdjustContrast(30);
// 保存图片
image.Save("image-updated-contrast.png");
}
下面是增加对比度值后输入输出图像的对比。
在 C# 中调整图像的亮度
亮度属性通常控制图像中对象的可见性。调整其值以增加或减少暗度。以下是在 C# 中修改图像亮度的步骤。
- 首先,使用 Image 类加载图像。
- 将对象投射到 RasterImage 类型。
- 如果不使用 RasterImage.CacheData() 方法,则缓存图像。
- 使用 RasterImage.AdjustBrightness(float) 方法调整图像的亮度。
- 最后,使用 RasterImage.Save(string) 方法保存生成的图像。
以下代码示例展示了如何在 C# 中调整图像的亮度。
// 在 Image 的实例中加载图像
using (Image image = Image.Load("image.png"))
{
// 投射到光栅图像
RasterImage rasterImage = (RasterImage)image;
// 缓存 RasterImage 以获得更好的性能
if (!rasterImage.IsCached)
{
rasterImage.CacheData();
}
// 调整亮度
rasterImage.AdjustBrightness(70);
// 保存图片
image.Save("image-updated-bightness.png");
}
下面是调整亮度后输入输出图像的对比。
在 C# 中修改图像的 Gamma
gamma 属性用于修改图像中红色、绿色和蓝色的比例。此外,它还修改了图像的亮度。以下是在 C# 中更改图像伽玛值的步骤。
- 首先,使用 Image 类加载图像。
- 将对象投射到 RasterImage 类型。
- 如果不使用 RasterImage.CacheData() 方法,则缓存图像。
- 使用 RasterImage.AdjustGamma(float, float, float) 方法更改图像的伽玛。
- 最后,使用 RasterImage.Save(string) 方法保存生成的图像。
以下代码示例显示了如何在 C# 中调整图像的 gamma。
// 在 Image 的实例中加载图像
using (Image image = Image.Load("image.png"))
{
// 投射到光栅图像
RasterImage rasterImage = (RasterImage)image;
// 缓存 RasterImage 以获得更好的性能
if (!rasterImage.IsCached)
{
rasterImage.CacheData();
}
// 调整伽玛
rasterImage.AdjustGamma(2.2f, 2.2f, 2.2f);
// 保存图片
image.Save("image-updated-gamma.png");
}
下面是调整gamma值后输入输出图像的对比。
获取免费 API 许可证
您可以获得免费的临时许可证 使用 Aspose.Imaging for .NET,而不受评估限制。
结论
在本文中,您学习了如何在 C# 中调整图像的对比度、亮度和 Gamma。此外,代码示例还演示了修改对比度、亮度和伽玛后图像的外观。如果您想了解更多关于 .NET 图像处理 API 的信息,请访问 文档。此外,从 GitHub 下载 API 的完整源代码示例。如果您有任何问题或疑问,请通过我们的 论坛 联系我们。