public async Task <Bitmap> RenderThumbnail(ScannedImage.Snapshot snapshot, int size) { using (var bitmap = await scannedImageRenderer.Render(snapshot, snapshot.TransformList.Count == 0 ? 0 : size *OVERSAMPLE)) { return(RenderThumbnail(bitmap, size)); } }
public async Task <Stream> RenderToStream(ScannedImage.Snapshot snapshot) { using (var transformed = await Render(snapshot)) { var stream = new MemoryStream(); var format = transformed.PixelFormat == PixelFormat.Format1bppIndexed ? ImageFormat.Png : snapshot.Source.FileFormat ?? (snapshot.Source.RecoveryIndexImage.HighQuality ? ImageFormat.Png : ImageFormat.Jpeg); transformed.Save(stream, format); return(stream); } }
public async Task <Bitmap> Render(ScannedImage.Snapshot snapshot, int outputSize = 0) { return(await Task.Factory.StartNew(() => { var bitmap = snapshot.Source.FileFormat == null ? pdfRenderer.Render(snapshot.Source.RecoveryFilePath).Single() : new Bitmap(snapshot.Source.RecoveryFilePath); if (outputSize > 0) { bitmap = ShrinkBitmap(bitmap, outputSize); } return Transform.PerformAll(bitmap, snapshot.TransformList); })); }