コード例 #1
0
        /// <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);
        }