Split Channels
Split the RGB channels of an image, adjust their brightness individually, and save each channel as a separate image.
Сode Snippet
using (var reader = ImageReader.Create("Chicago.jpg"))
using (var splitter = new RgbChannelSplitter())
using (var brightnessR = new Brightness(0.1f))
using (var writerR = new PngWriter("Chicago_R.png"))
using (var brightnessG = new Brightness(0.2f))
using (var writerG = new PngWriter("Chicago_G.png"))
using (var brightnessB = new Brightness(-0.1f))
using (var writerB = new PngWriter("Chicago_B.png"))
{
splitter.R = brightnessR;
brightnessR.Receivers.Add(writerR);
splitter.G = brightnessG;
brightnessG.Receivers.Add(writerG);
splitter.B = brightnessB;
brightnessB.Receivers.Add(writerB);
Pipeline.Run(reader + splitter);
}
Input
Chicago.jpg
Output
Chicago_R.png
Chicago_G.png
Chicago_B.png
For AI-assisted development: Download Graphics Mill Code Samples XML Catalog