2008-11-05 3 views

ответ

21
var bi = new BitmapImage(); 
bi.BeginInit(); 
bi.CacheOption = BitmapCacheOption.OnLoad; 
bi.UriSource = new Uri(""); 
bi.EndInit(); 

var vis = new DrawingVisual(); 
var dc = vis.RenderOpen(); 
dc.DrawImage(bi, new Rect { Width = bi.Width, Height = bi.Height }); 
dc.Close(); 

var pdialog = new PrintDialog(); 
if (pdialog.ShowDialog() == true) { 
pdialog.PrintVisual(vis, "My Image"); 
} 
+0

Тамир ... его штраф .... В случае, если мне нужно напечатать несколько изображений, ..., как я могу достичь? – 2013-08-27 06:44:12

1

Просто загрузите изображение и примените его к визуальному. Затем используйте PrintDialog для выполнения этой работы.

... 
PrintDialog printer = new PrintDialog(); 

if (printer.ShowDialog()) { 
    printer.PrintVisual(myVisual, "A Page Title"); 
} 
1

Если вы хотите контролировать то PrintDialog.PrintVisual дает вам, что вы должны обернуть изображение в FixedDocumet.

Вы можете найти простой код, который создает фиксированный документ здесь: http://www.ericsink.com/wpf3d/B_Printing.html