Якщо вам потрібно застосувати градацію кольорів у програмі редагування зображень, ця стаття дасть вам просте, але корисне рішення. Зокрема, ви дізнаєтеся, як налаштувати контрастність, яскравість і гамму зображення в C#, виконавши кілька простих кроків.

Налаштування контрасту зображення, яскравості та гами в C#

Контраст), яскравість і гама є популярними атрибутами, які використовуються для налаштування зображень. Різні значення цих атрибутів встановлюються для контролю та покращення зовнішнього вигляду зображень. У цій статті ми покажемо вам, як програмно налаштувати контрастність, яскравість і гамму зображення в C#. Ви можете використовувати це для реалізації можливостей редагування зображень у своїх програмах .NET.

Налаштування контрасту зображення, яскравості та гами в C# - встановлення API

Aspose.Imaging for .NET — це потужний і багатофункціональний API обробки зображень для платформ .NET/.NET Standard. Він підтримує роботу з широким діапазоном форматів зображень без написання складного коду. Ми будемо використовувати цей API для налаштування контрастності, яскравості та гами зображень у C#. Ви можете завантажити API або встановити його у своїх програмах .NET за допомогою NuGet.

PM> Install-Package Aspose.Imaging

Налаштування контрастності зображення в C#

Контраст визначається як різниця в інтенсивності пікселів. Його значення регулюється, щоб зробити об’єкти на зображенні більш помітними та помітними. Завдяки високій контрастності кожен об’єкт на зображенні виглядає дуже чітко, як на фотографіях, зроблених під сонячним світлом. А от при низькій контрастності об’єкти важко розрізнити, як у туманну погоду.

Давайте перевіримо, як налаштувати контрастність зображення в C# за допомогою Aspose.Imaging for .NET.

  • Спочатку завантажте зображення за допомогою класу Image.
  • Потім приведіть об’єкт до типу RasterImage.
  • Кешувати зображення, якщо воно не використовує метод RasterImage.CacheData().
  • Налаштуйте контраст у діапазоні [-100, 100] за допомогою методу RasterImage.AdjustContrast(float).
  • Нарешті, збережіть отримане зображення за допомогою методу 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#

Атрибут яскравості зазвичай контролює видимість об’єктів на зображенні. Його значення регулюється для збільшення або зменшення темряви. Нижче наведено кроки для зміни яскравості зображення в 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#

Відрегулюйте яскравість зображення

Змінити гамму зображення в C#

Атрибут 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");
}

Нижче наведено порівняння вхідного та вихідного зображень після налаштування значення гами.

Налаштування гами зображень у C#

Налаштуйте гамму зображення

Безкоштовна ліцензія на налаштування контрастності та яскравості зображення

Ви можете отримати безкоштовну тимчасову ліцензію і регулювати контрастність, яскравість і гаму зображення без обмежень оцінки.

Висновок

У цій статті ви дізналися, як налаштувати контрастність, яскравість і гаму зображень у C#. Крім того, зразки коду продемонстрували, як виглядає зображення після зміни контрастності, яскравості та гами. Якщо ви хочете дізнатися більше про API обробки зображень .NET, відвідайте документацію. Також завантажте повні зразки вихідного коду API з GitHub. Якщо у вас виникли запитання чи запити, зв’яжіться з нами на нашому форумі.

Дивись також