高质量地捕捉3DModel

时间:2012-07-16 08:10:32

标签: wpf 3d

我试图捕获我的WPF Viewport3D,问题在于无论我做什么它都没有以高质量捕获,RenderTargetBitmap的参数应该是什么才能获得最佳质量?

 RenderTargetBitmap bmp = new RenderTargetBitmap(
                          (int)viewport3D.ActualWidth, (int)viewport3D.ActualHeight, 96, 96, PixelFormats.Pbgra32);

bmp.Render(viewport3D);
PngBitmapEncoder png = new PngBitmapEncoder();
png.Frames.Add(BitmapFrame.Create(bmp));

using (Stream stm = File.Create(m_captureWithoutMainModelFileName))
{
   png.Save(stm);
}

我也试图将图像保存为BMP,但它并没有提高质量。

1 个答案:

答案 0 :(得分:0)

也许你的问题是Dpi设置为96,96。在高分辨率屏幕上,Vista / Seven不再是这种情况。

PresSource = PresentationSource.FromVisual( TheViewPort3D );
dpiX = 96 * PresSource.CompositionTarget.TransformToDevice.M11;  
dpiY = 96 * PresSource.CompositionTarget.TransformToDevice.M22;