Недостаточно памяти Исключение при печати в WPF
Я пытался напечатать набор из 70 изображений в WPF. Поэтому я использовал документ Fixed, как я видел во многих ссылках, и попытался распечатать, используя приведенный ниже код
private void button1_Click(object sender, RoutedEventArgs e)
{
PrintDialog d = new PrintDialog();
d.PrintDocument(PrintingDoc().DocumentPaginator, "test");
}
private FixedDocument PrintingDoc()
{
FixedDocument document = new FixedDocument();
Visual viewerControl;
string[] Documents = System.IO.Directory.GetFiles("../../U/");
DrawingVisual dv;
DrawingContext context ;
BitmapImage im ;
foreach (string doc in Documents)
{
dv = new DrawingVisual();
context = dv.RenderOpen();
im = new BitmapImage();
im.BeginInit();
im.UriSource = new Uri(doc, UriKind.Relative);
im.EndInit();
context.DrawImage(im, new Rect(0,0,im.Width,im.Height));
context.Close();
PageContent m_PageContent = new PageContent();
FixedPage page = new FixedPage();
VisCont myContainer = new VisCont();
myContainer.AddVisual(dv);
page.Children.Add(myContainer);
((IAddChild)m_PageContent).AddChild(page);
document.Pages.Add(m_PageContent);
}
}
return document;
}
}
internal class VisCont: FrameworkElement
{
private readonly VisualCollection children;
public VisCont()
{
children = new VisualCollection(this);
}
public void AddVisual(Visual v)
{
children.Add(v);
}
}
Я получил следующее исключение в d.PrintDocument "Недостаточно памяти для продолжения выполнения программы".
и, к сведению, это воспроизводится только в конфигурации X86, а не в X64. Любая помощь друзья?