Контрастность), яркость и гамма — популярные атрибуты, которые используются для настройки изображений. Различные значения этих атрибутов устанавливаются для управления и улучшения внешнего вида изображений. В этой статье мы покажем вам, как программно настроить контрастность, яркость и гамму изображения на C#. Вы можете использовать это для реализации возможностей редактирования изображений из ваших приложений .NET.
- API редактирования изображений C#
- Настройка контрастности изображения в C#
- Отрегулируйте яркость изображения в C#
- Изменить гамму изображения в C#
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#.
- Сначала загрузите изображение с помощью класса 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#.
- Сначала загрузите изображение с помощью класса 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");
}
Ниже приведено сравнение входного и выходного изображений после настройки значения гаммы.
Получите бесплатную лицензию API
Вы можете получить бесплатную временную лицензию для использования Aspose.Imaging for .NET без ограничений пробной версии.
Вывод
В этой статье вы узнали, как настроить контрастность, яркость и гамму изображений в C#. Кроме того, образцы кода продемонстрировали, как выглядит изображение после изменения контраста, яркости и гаммы. Если вы хотите узнать больше об API обработки изображений .NET, посетите документацию. Кроме того, загрузите полные образцы исходного кода API с GitHub. Если у вас есть какие-либо вопросы или вопросы, свяжитесь с нами на нашем форуме.