Pokud potřebujete implementovat třídění barev v aplikaci pro úpravu obrázků, tento článek vám poskytne jednoduché, ale užitečné řešení. Zejména se v několika jednoduchých krocích naučíte, jak upravit kontrast, jas a gama obrázku v C#.
Kontrast), jas a gama jsou oblíbené atributy, které se používají k ladění obrázků. Různé hodnoty těchto atributů jsou nastaveny pro ovládání a vylepšení vzhledu obrázků. V tomto článku si ukážeme, jak nastavit kontrast, jas a gama obrázku programově v C#. Můžete to využít k implementaci možností úprav obrázků z vašich aplikací .NET.
- C# API pro úpravu obrázků
- Upravit kontrast obrázku v C#
- Úprava jasu obrázku v C#
- Úprava gama obrázku v C#
Upravte kontrast, jas a gamu obrazu v C# - Instalace API
Aspose.Imaging for .NET je výkonné a na funkce bohaté rozhraní API pro zpracování obrazu pro platformy .NET/.NET Standard. Podporuje manipulaci s širokou škálou obrazových formátů bez psaní složitého kódu. Toto API použijeme k úpravě kontrastu, jasu a gama obrázků v C#. API si můžete stáhnout nebo je nainstalovat do svých aplikací .NET pomocí NuGet.
PM> Install-Package Aspose.Imaging
Upravit kontrast obrázku v C#
Kontrast je definován jako rozdíl v intenzitě pixelů. Jeho hodnota je upravena tak, aby byly objekty na obrázku lépe viditelné a rozlišitelné. Díky vysokému kontrastu vypadá každý objekt na snímku velmi jasně, stejně jako fotografie pořízené na slunci. Kdežto s nízkým kontrastem objekty téměř nerozeznáte jako v mlhavém počasí.
Pojďme se podívat, jak upravit kontrast obrázku v C# pomocí Aspose.Imaging for .NET.
- Nejprve načtěte obrázek pomocí třídy Image.
- Poté přetypujte objekt na typ RasterImage.
- Uložte obrázek do mezipaměti, pokud nepoužívá metodu RasterImage.CacheData().
- Upravte kontrast v rozsahu [-100, 100] pomocí metody RasterImage.AdjustContrast(float).
- Nakonec výsledný obrázek uložte pomocí metody RasterImage.Save(string).
Následující ukázka kódu ukazuje, jak upravit kontrast obrázku v C#.
// Načtěte obrázek v instanci Image
using (Image image = Image.Load("image.png"))
{
// Přenést do rastrového obrázku
RasterImage rasterImage = (RasterImage)image;
// Uložte RasterImage do mezipaměti pro lepší výkon
if (!rasterImage.IsCached)
{
rasterImage.CacheData();
}
// Upravte kontrast
rasterImage.AdjustContrast(30);
// Uložit obrázek
image.Save("image-updated-contrast.png");
}
Následuje porovnání vstupního a výstupního obrazu po zvýšení hodnoty kontrastu.
Úprava jasu obrázku v C#
Atribut jasu obvykle řídí viditelnost objektů v obrázku. Jeho hodnota je upravena pro zvýšení nebo snížení tmavosti. Následují kroky pro úpravu jasu obrázku v C#.
- Nejprve načtěte obrázek pomocí třídy Image.
- Přenést objekt do typu RasterImage.
- Uložte obrázek do mezipaměti, pokud nepoužívá metodu RasterImage.CacheData().
- Upravte jas obrázku pomocí metody RasterImage.AdjustBrightness(float).
- Nakonec výsledný obrázek uložte pomocí metody RasterImage.Save(string).
Následující ukázka kódu ukazuje, jak upravit jas obrázku v C#.
// Načtěte obrázek v instanci Image
using (Image image = Image.Load("image.png"))
{
// Přenést do rastrového obrázku
RasterImage rasterImage = (RasterImage)image;
// Uložte RasterImage do mezipaměti pro lepší výkon
if (!rasterImage.IsCached)
{
rasterImage.CacheData();
}
// Upravte jas
rasterImage.AdjustBrightness(70);
// Uložit obrázek
image.Save("image-updated-bightness.png");
}
Následuje porovnání vstupního a výstupního obrazu po úpravě jasu.
Úprava gama obrázku v C#
Atribut gamma se používá k úpravě poměru červené, zelené a modré barvy v obrázku. Kromě toho také upravuje jas obrazu. Následují kroky ke změně hodnoty gama obrázku v C#.
- Nejprve načtěte obrázek pomocí třídy Image.
- Přenést objekt do typu RasterImage.
- Uložte obrázek do mezipaměti, pokud nepoužívá metodu RasterImage.CacheData().
- Změňte gamu obrázku pomocí metody RasterImage.AdjustGamma(float, float, float).
- Nakonec výsledný obrázek uložte pomocí metody RasterImage.Save(string).
Následující ukázka kódu ukazuje, jak upravit gama obrázku v C#.
// Načtěte obrázek v instanci Image
using (Image image = Image.Load("image.png"))
{
// Přenést do rastrového obrázku
RasterImage rasterImage = (RasterImage)image;
// Uložte RasterImage do mezipaměti pro lepší výkon
if (!rasterImage.IsCached)
{
rasterImage.CacheData();
}
// Upravte gamu
rasterImage.AdjustGamma(2.2f, 2.2f, 2.2f);
// Uložit obrázek
image.Save("image-updated-gamma.png");
}
Následuje porovnání vstupního a výstupního obrazu po úpravě hodnoty gama.
Bezplatná licence k úpravě kontrastu a jasu obrázku
Můžete získat bezplatnou dočasnou licenci a upravit kontrast, jas a gama obrazu bez omezení hodnocení.
Závěr
V tomto článku jste se naučili, jak upravit kontrast, jas a gama obrázků v C#. Kromě toho ukázky kódu ukázaly, jak obrázek vypadá po úpravě kontrastu, jasu a gama. V případě, že chcete prozkoumat více o rozhraní API pro zpracování obrazu .NET, navštivte dokumentace. Stáhněte si také kompletní ukázky zdrojového kódu API z GitHub. Pokud byste měli nějaké dotazy nebo dotazy, kontaktujte nás na našem fóru.