public void SetExportConfiguration(ImageOutputSetting imageOutputSetting) { if (ImageOutputSetting == null) throw new ArgumentNullException("imageOutputSetting"); ImageOutputSetting = imageOutputSetting; }
private async void Export(ImageOutputSetting settings, string name) { ShowSaving.Value = true; try { _figureExportBuilder.SetExportConfiguration(settings); SavingMessage.Value = string.Format("Hold on - making figures for a {0} application", name); var cancellationTokenSource = new CancellationTokenSource(); await _figureExportBuilder.Export(_targetDirectory, cancellationTokenSource.Token); } catch (TaskCanceledException) { } catch (Exception) { } finally { ShowCompleted.Value = true; } }
public async Task Export( string filename, ImageOutputSetting settings, CancellationToken ct) { var trimmedSelection = await GetTrimmedSelection(); var scaleFactor = trimmedSelection.ScaleRatioForDimension(settings.TargetDimension); ThrowIfCancelled(ct); using (var renderedPageImageFile = await _page.RenderImage(scaleFactor, settings.Dpi)) using (Bitmap pageBitmap = new Bitmap(renderedPageImageFile.FileName)) { ThrowIfCancelled(ct); var cropRectangle = CalculateCropRectangleInPixels(trimmedSelection, pageBitmap.Width, pageBitmap.Height); using (Bitmap cropped = pageBitmap.Clone(cropRectangle, pageBitmap.PixelFormat)) { ThrowIfCancelled(ct); cropped.RotateFlip(trimmedSelection.Rotation.ToRotateFlipType()); cropped.Save(filename, settings.Codec, settings.Params); } } }
public FigureExportBuilder(IContainer container) { _container = container; ImageOutputSetting = new OhimImageOutputSettingses(); }