Kontrast), jasność i gamma to popularne atrybuty używane do dostrajania obrazów. Różne wartości tych atrybutów są ustawione w celu kontrolowania i ulepszania wyglądu obrazów. W tym artykule pokażemy, jak programowo dostosować kontrast, jasność i gamma obrazu w języku C#. Możesz to wykorzystać do zaimplementowania możliwości edycji obrazu z poziomu aplikacji .NET.
- Interfejs API edycji obrazu w języku C#
- Dostosuj kontrast obrazu w C#
- Dostosuj jasność obrazu w C#
- Zmodyfikuj gamma obrazu w C#
Interfejs API języka C# do dostosowywania kontrastu, jasności i gammy obrazu
Aspose.Imaging for .NET to potężny i bogaty w funkcje interfejs API do przetwarzania obrazu dla platform .NET/.NET Standard. Obsługuje manipulowanie szeroką gamą formatów obrazów bez pisania skomplikowanego kodu. Będziemy używać tego interfejsu API do dostosowywania kontrastu, jasności i współczynnika gamma obrazów w języku C#. Możesz pobrać interfejs API lub zainstalować go w swoich aplikacjach .NET za pomocą NuGet.
PM> Install-Package Aspose.Imaging
Dostosuj kontrast obrazu w C#
Kontrast definiuje się jako różnicę w intensywności pikseli. Jego wartość jest dostosowywana, aby obiekty na obrazie były bardziej widoczne i rozpoznawalne. Dzięki wysokiemu kontrastowi każdy obiekt na obrazie wygląda bardzo wyraźnie, podobnie jak zdjęcia wykonane w świetle słonecznym. Natomiast przy niskim kontraście trudno rozróżnić obiekty, tak jak przy mglistej pogodzie.
Sprawdźmy, jak dostosować kontrast obrazu w C# przy użyciu Aspose.Imaging for .NET.
- Najpierw załaduj obraz za pomocą klasy Image.
- Następnie rzutujemy obiekt na typ RasterImage.
- Obraz w pamięci podręcznej, jeśli nie używa metody RasterImage.CacheData().
- Dostosuj kontrast w zakresie [-100, 100] metodą RasterImage.AdjustContrast(float).
- Na koniec zapisz wynikowy obraz za pomocą metody RasterImage.Save(string).
Poniższy przykład kodu pokazuje, jak dostosować kontrast obrazu w języku C#.
// Załaduj obraz w instancji Image
using (Image image = Image.Load("image.png"))
{
// Rzuć na obraz rastrowy
RasterImage rasterImage = (RasterImage)image;
// Cache RasterImage dla lepszej wydajności
if (!rasterImage.IsCached)
{
rasterImage.CacheData();
}
// Dostosuj kontrast
rasterImage.AdjustContrast(30);
// Zapisać obraz
image.Save("image-updated-contrast.png");
}
Poniżej przedstawiono porównanie obrazów wejściowych i wyjściowych po zwiększeniu wartości kontrastu.
Dostosuj jasność obrazu w C#
Atrybut jasności zwykle steruje widocznością obiektów na obrazie. Jego wartość jest dostosowywana w celu zwiększenia lub zmniejszenia ciemności. Poniżej przedstawiono kroki, aby zmodyfikować jasność obrazu w języku C#.
- Najpierw załaduj obraz przy użyciu klasy Image.
- Rzuć obiekt na typ RasterImage.
- Obraz w pamięci podręcznej, jeśli nie używa metody RasterImage.CacheData().
- Dostosuj jasność obrazu metodą RasterImage.AdjustBrightness(float).
- Na koniec zapisz wynikowy obraz za pomocą metody RasterImage.Save(string).
Poniższy przykład kodu pokazuje, jak dostosować jasność obrazu w języku C#.
// Załaduj obraz w instancji Image
using (Image image = Image.Load("image.png"))
{
// Rzuć na obraz rastrowy
RasterImage rasterImage = (RasterImage)image;
// Cache RasterImage dla lepszej wydajności
if (!rasterImage.IsCached)
{
rasterImage.CacheData();
}
// Dostosuj jasność
rasterImage.AdjustBrightness(70);
// Zapisać obraz
image.Save("image-updated-bightness.png");
}
Poniżej przedstawiono porównanie obrazów wejściowych i wyjściowych po wyregulowaniu jasności.
Zmodyfikuj gamma obrazu w C#
Atrybut gamma służy do modyfikowania proporcji kolorów czerwonego, zielonego i niebieskiego w obrazie. Ponadto modyfikuje również jasność obrazu. Poniżej przedstawiono kroki zmiany wartości gamma obrazu w języku C#.
- Najpierw załaduj obraz przy użyciu klasy Image.
- Rzuć obiekt na typ RasterImage.
- Obraz w pamięci podręcznej, jeśli nie używa metody RasterImage.CacheData().
- Zmień gamma obrazu metodą RasterImage.AdjustGamma(float, float, float).
- Na koniec zapisz wynikowy obraz za pomocą metody RasterImage.Save(string).
Poniższy przykład kodu pokazuje, jak dostosować współczynnik gamma obrazu w języku C#.
// Załaduj obraz w instancji Image
using (Image image = Image.Load("image.png"))
{
// Rzuć na obraz rastrowy
RasterImage rasterImage = (RasterImage)image;
// Cache RasterImage dla lepszej wydajności
if (!rasterImage.IsCached)
{
rasterImage.CacheData();
}
// Dostosuj gammę
rasterImage.AdjustGamma(2.2f, 2.2f, 2.2f);
// Zapisać obraz
image.Save("image-updated-gamma.png");
}
Poniżej przedstawiono porównanie obrazów wejściowych i wyjściowych po dostosowaniu wartości gamma.
Uzyskaj bezpłatną licencję API
Możesz uzyskać bezpłatną tymczasową licencję, aby używać Aspose.Imaging for .NET bez ograniczeń ewaluacyjnych.
Wniosek
W tym artykule nauczyłeś się dostosowywać kontrast, jasność i gamma obrazów w języku C#. Ponadto próbki kodu pokazały, jak wygląda obraz po zmodyfikowaniu kontrastu, jasności i gamma. Jeśli chcesz dowiedzieć się więcej o interfejsie API przetwarzania obrazu .NET, odwiedź dokumentację. Pobierz także kompletne próbki kodu źródłowego interfejsu API z GitHub. Jeśli masz jakieś pytania lub wątpliwości, skontaktuj się z nami na naszym forum.