using System; using System.Linq; using System.Threading; using System.Threading.Tasks; using Tools; using System.IO; using ImageMagick; namespace ndview { public class ThumbnailGenerator { public readonly int Width,Height; public ThumbnailGenerator(int width) : this(width,0){} public ThumbnailGenerator(int width, int height) { (Width, Height) = (width, height); } public Task Thumbnail(Stream from, Stream to, CancellationToken token=default) => Task.Run(()=> { using var image= new MagickImage(); image.Read(from); token.ThrowIfCancellationRequested(); image.Resize(200, 0); token.ThrowIfCancellationRequested(); image.Write(to); token.ThrowIfCancellationRequested(); }); } }