/// <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);
             }
 }
Пример #2
0
    /// <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);
                                }
    }