對比度)、亮度 和 伽馬 是用於調整圖像的常用屬性。設置這些屬性的不同值以控制和增強圖像的外觀。在本文中,我們將向您展示如何在 C# 中以編程方式調整圖像的對比度、亮度和 Gamma。您可以利用它在您的 .NET 應用程序中實現圖像編輯功能。
用於調整圖像對比度、亮度和 Gamma 的 C# API
Aspose.Imaging for .NET 是用於 .NET/.NET Standard 平台的功能強大且功能豐富的圖像處理 API。它支持處理多種圖像格式,而無需編寫複雜的代碼。我們將使用此 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# 中調整圖像的伽馬。
// 在 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 的完整源代碼示例。如果您有任何問題或疑問,請通過我們的 論壇 聯繫我們。