/// <summary> /// Removes alpha channel using memory-friendly Pipeline API /// </summary> private static void RemoveAlphaChannelMemoryFriendly() { using (var reader = ImageReader.Create("../../../../_Input/Stamp.png")) using (var removeAlpha = new RemoveAlpha()) using (var writer = ImageWriter.Create("../../../../_Output/RemoveAlphaChannelMemoryFriendly.png")) { Pipeline.Run(reader + removeAlpha + writer); } }
/// <summary> /// Tints using alpha channel and memory-friendly Pipeline API /// </summary> private static void TintUsingAlphaMemoryFriendly(RgbColor color) { // reader ---> converter ---> invert -----\ // generator ---> setAlpha ---> removeAlpha ---> writer using (var reader = ImageReader.Create("../../../../_Input/Chicago.jpg")) using (var converter = new ColorConverter(PixelFormat.Format8bppGrayscale)) using (var invert = new Invert()) using (var generator = new ImageGenerator(reader.Width, reader.Height, PixelFormat.Format24bppRgb, color)) using (var setAlpha = new SetAlpha()) using (var removeAlpha = new RemoveAlpha(RgbColor.White)) using (var writer = ImageWriter.Create("../../../../_Output/TintUsingAlphaMemoryFriendly_" + color.ToString() + ".jpg")) { setAlpha.AlphaSource = reader + converter + invert; Pipeline.Run(generator + setAlpha + removeAlpha + writer); } }