Split And Combine Channels

Branched Pipeline Channels

Splits an image into its RGB channels, adjusts each channel's brightness, and recombines them.

Сode Snippet

using (var reader = ImageReader.Create("Chicago.jpg"))
using (var channelSplitter = new RgbChannelSplitter())
using (var brightnessR = new Brightness(0.1f))
using (var brightnessG = new Brightness(-0.05f))
using (var brightnessB = new Brightness(0.2f))
using (var channelCombiner = new RgbChannelCombiner())
using (var writer = ImageWriter.Create("SplitAndCombineChannels.png"))
{
    reader.Receivers.Add(channelSplitter);

    channelCombiner.R = channelSplitter.R + brightnessR;
    channelCombiner.G = channelSplitter.G + brightnessG;
    channelCombiner.B = channelSplitter.B + brightnessB;

    Pipeline.Run(channelCombiner + writer);
}

Input

Chicago.jpg

Output

SplitAndCombineChannels.png

For AI-assisted development: Download Graphics Mill Code Samples XML Catalog