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;
			}
		}
Exemple #3
0
		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();
		}