В этой записи блога мы рассмотрим различные методы изменения цветов изображения с помощью C#. Если вы хотите применить определенный цветовой фильтр, настроить оттенок и насыщенность или преобразовать изображение в оттенки серого, мы вам поможем. Мы предоставим примеры кода для каждого метода, чтобы помочь вам понять и реализовать функции изменения цвета в ваших проектах C#. Итак, приступим!
Методы изменения цветов изображения:
-
Использование пространства имен System.Drawing:
- Метод: ColorMatrix
- Пример кода:
using System.Drawing; using System.Drawing.Imaging; public static Bitmap ChangeImageColor(Bitmap originalImage, ColorMatrix colorMatrix) { Bitmap newImage = new Bitmap(originalImage.Width, originalImage.Height); using (Graphics graphics = Graphics.FromImage(newImage)) { ImageAttributes attributes = new ImageAttributes(); attributes.SetColorMatrix(colorMatrix); graphics.DrawImage(originalImage, new Rectangle(0, 0, originalImage.Width, originalImage.Height), 0, 0, originalImage.Width, originalImage.Height, GraphicsUnit.Pixel, attributes); } return newImage; }
-
Использование библиотеки Emgu.CV:
- Метод: CvInvoke.CvtColor
- Пример кода:
using Emgu.CV; using Emgu.CV.CvEnum; using Emgu.CV.Structure; public static Image<Bgr, byte> ChangeImageColor(Image<Bgr, byte> originalImage, ColorConversion conversion) { Image<Bgr, byte> newImage = originalImage.Convert<Bgr, byte>(); CvInvoke.CvtColor(originalImage, newImage, conversion); return newImage; }
-
Использование библиотеки Magick.NET:
- Метод: Image.Colorize
- Пример кода:
using ImageMagick; public static MagickImage ChangeImageColor(MagickImage originalImage, MagickColor targetColor) { MagickImage newImage = originalImage.Clone(); newImage.Colorize(targetColor); return newImage; }
В этой статье мы рассмотрели несколько методов изменения цветов изображения в C#. Независимо от того, предпочитаете ли вы использовать встроенное пространство имен System.Drawing, библиотеку Emgu.CV или библиотеку Magick.NET, теперь у вас есть множество вариантов, соответствующих потребностям вашего проекта. Не стесняйтесь экспериментировать с этими методами и настраивать их в соответствии со своими требованиями. Повысить визуальную привлекательность ваших изображений еще никогда не было так просто!