Add Alpha Channel (Memory Friendly)
Generates an elliptical alpha channel and applies it to the source image using memory-friendly Pipeline API.
Сode Snippet
// reader ---------------> setAlpha ---> writer
// alpha ---> drawer ---/
using (var reader = ImageReader.Create("Chicago.jpg"))
using (var alpha = new ImageGenerator(reader.Width, reader.Height, PixelFormat.Format8bppGrayscale, new GrayscaleColor(0)))
using (var drawer = new Drawer())
using (var setAlpha = new SetAlpha())
using (var writer = ImageWriter.Create("AddAlphaChannelMemoryFriendly.png"))
{
drawer.Draw += (sender, e) =>
{
e.Graphics.FillEllipse(
new SolidBrush(new GrayscaleColor(255)),
0,
0,
reader.Width,
reader.Height);
};
setAlpha.AlphaSource = alpha + drawer;
Pipeline.Run(reader + setAlpha + writer);
}
Input
Chicago.jpg
Output
AddAlphaChannelMemoryFriendly.png
For AI-assisted development: Download Graphics Mill Code Samples XML Catalog