/// <summary> /// Exports the specified viewport. /// </summary> /// <param name="viewport">The viewport.</param> /// <param name="stream">The output stream.</param> /// <exception cref="System.InvalidOperationException">Not supported file format.</exception> public void Export(Viewport3D viewport, Stream stream) { var background = this.Background ?? Brushes.Transparent; var bmp = viewport.RenderBitmap(background, this.OversamplingMultiplier); BitmapEncoder encoder; switch (this.Format) { case OutputFormat.Jpg: encoder = new JpegBitmapEncoder(); break; case OutputFormat.Bmp: encoder = new BmpBitmapEncoder(); break; case OutputFormat.Png: encoder = new PngBitmapEncoder(); break; default: throw new InvalidOperationException("Not supported file format."); } encoder.Frames.Add(BitmapFrame.Create(bmp)); encoder.Save(stream); }