Drew'un cevabı üzerine inşa etmek, PrintVisual yöntemine verilen kabı ölçmek ve düzenlemek en iyisidir. Bu, 8,5 x 11 sayfalık bir kağıdın kesilmesinden daha büyük bir görüntüyü önleyecektir. ect bir stackpanel, tuval, ızgara, benim örnekte
PrintDialog dlg = new PrintDialog();
bool? result = dlg.ShowDialog();
if (result.HasValue && result.Value)
{
ImageViewer.Measure(new Size(dlg.PrintableAreaWidth, dlg.PrintableAreaHeight));
ImageViewer.Arrange(new Rect(new Point(0, 0), ImageViewer1.DesiredSize));
dlg.PrintVisual(ImageViewer, "Print a Large Image");
}
ImageViewer herhangi UIElement kap ile değiştirilebilir: Burada ekran kısmen görünür bir görüntü baskılı nasıl bir örneğidir. ImageViewer.Source, yazdırılmaya hazır BitmapImage olarak ayarlanmalıdır.
ben bu sayfadan fikrim var:
http://www.switchonthecode.com/tutorials/printing-in-wpf
Çok teşekkür ederim. Bu, bir görüntü basarken sorunumu çözdü. – user4134476