Swap Channels Memory Friendly
Demonstrates how to swap the Red and Green channels of an image using a memory-friendly pipeline approach.
Сode Snippet
//// /-- (R) ------- (R)--\
//// / \
//// reader ---> splitter ---- (G) --\ /-- (B)---- combiner ---> writer
//// \ X /
//// \-- (B) --/ \-- (G)--/
using (var reader = ImageReader.Create("Chicago.jpg"))
using (var splitter = new RgbChannelSplitter())
using (var combiner = new RgbChannelCombiner())
using (var writer = ImageWriter.Create("SwapChannelsMemoryFriendly.jpg"))
{
reader.Receivers.Add(splitter);
combiner.R = splitter.R;
combiner.G = splitter.B;
combiner.B = splitter.G;
combiner.Receivers.Add(writer);
Pipeline.Run(combiner);
}
Input
Chicago.jpg
Output
SwapChannelsMemoryFriendly.jpg
For AI-assisted development: Download Graphics Mill Code Samples XML Catalog