【发布时间】:2011-09-06 10:38:51
【问题描述】:
C# wpf 3D 视觉工作室 2010 网 4.5
嗨
我正在尝试打印我创建的 3D 图像,但无法正确打印。 打印的图像大小会根据窗口的大小等而变化。 或者它被剪辑等等。
我想要在打印机上打印视口, 将其拉伸到与纸张一样宽并保持纵横比。
PrintDialog dialog = new PrintDialog();
if (dialog.ShowDialog() != true)
{ return; }
StackPanel myPanel = new StackPanel();
myPanel.Margin = new Thickness(40);
Image myImage = new Image();
myImage.Width = dialog.PrintableAreaWidth - (2 * MYDPI);
myImage.Stretch = Stretch.Uniform;
RenderTargetBitmap bmp = new RenderTargetBitmap((int)dialog.PrintableAreaWidth, (int)dialog.PrintableAreaWidth, 96, 96, PixelFormats.Pbgra32);
bmp.Render(myViewPort);
myImage.Source = bmp;
myPanel.Children.Add(myImage);
myPanel.Measure(new Size(dialog.PrintableAreaWidth, dialog.PrintableAreaHeight));
myPanel.Arrange(new Rect(new Point(0, 0), myPanel.DesiredSize));
dialog.PrintVisual(myPanel, myName);
【问题讨论】:
-
如果您知道要打印的区域,为什么不直接截取该区域的屏幕截图并打印出来?
-
RenderTargetBitmap bmp = new RenderTargetBitmap((int)dialog.PrintableAreaWidth, (int)dialog.PrintableAreaWidth, 96, 96, PixelFormats.Pbgra32); bmp.Render(myViewPort);
标签: c# wpf printing 3d viewport