我试图捕获我的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,但它并没有提高质量。
答案 0 :(得分:0)
也许你的问题是Dpi设置为96,96。在高分辨率屏幕上,Vista / Seven不再是这种情况。
PresSource = PresentationSource.FromVisual( TheViewPort3D );
dpiX = 96 * PresSource.CompositionTarget.TransformToDevice.M11;
dpiY = 96 * PresSource.CompositionTarget.TransformToDevice.M22;