Multiple thumbnails
Branched Pipeline Resize Thumbnail
Creates two different-sized images from a single read of the source image. In most cases, reading the image is the bottleneck, so this approach significantly improves performance.
Сode Snippet
// reader ---> resizeBig ---> writerBig
// \--> resizeSmall ---> writerSmall
using (var reader = ImageReader.Create("Venice.jpg"))
using (var resizeBig = new Resize(640, 0, ResizeInterpolationMode.High))
using (var writerBig = ImageWriter.Create("Venice_thumbnail_big.jpg"))
using (var resizeSmall = new Resize(128, 0, ResizeInterpolationMode.High))
using (var writerSmall = ImageWriter.Create("Venice_thumbnail_small.jpg"))
{
reader.Receivers.Add(resizeBig);
resizeBig.Receivers.Add(writerBig);
reader.Receivers.Add(resizeSmall);
resizeSmall.Receivers.Add(writerSmall);
Pipeline.Run(reader);
}
Input
Venice.jpg
Output
Venice_thumbnail_big.jpg
Venice_thumbnail_small.jpg
For AI-assisted development: Download Graphics Mill Code Samples XML Catalog