2015-10-07 5 views
0

Вот мой код, который находится в классе, простирающейся DocumentPaginatorЧто такое правильный способ печати изображений с помощью WPF DocumentPaginator

public override DocumentPage GetPage(int pageNumber) 
    { 
     BitmapImage source = new BitmapImage(); 
     using (Stream stream = new FileStream(GetPagePath(pageNumber), FileMode.Open)) 
     { 
      source.BeginInit(); 
      source.StreamSource = stream; 
      source.CacheOption = BitmapCacheOption.OnLoad; 
      source.EndInit(); 
     } 

     var image = new Image { Source = source }; 

     Rect contentBox = new Rect(PageSize); 

     return new DocumentPage(image, PageSize, contentBox, contentBox); 
    } 

Однако, когда я на самом деле запустить этот код, он не кажется, чтобы загрузить мой образ и просто печатает пустые страницы.

Каков правильный способ загрузки изображения и прикрепления его к объекту DocumentPage?

+0

Возможные дубликат [Добавление изображения в FixedPage в WPF] (http://stackoverflow.com/questions/11853096/add-image-to-fixedpage-in-wpf) –

+0

Я видел это сообщение ... «FixedPage» - это не то же самое, что «DocumentPage». – theycallmemorty

+0

Вы пробовали код из этого ответа для создания экземпляра 'BitmapImage'? –

ответ

0

Вы должны сделать макет элемента управления Image, вызвав его Measure() и Arrange() методы:

var image = new Image { Source = source }; 
var size = new Size(source.PixelWidth, source.PixelHeight); 
image.Measure(size); 
image.Arrange(new Rect(size)); 
Смежные вопросы