Фиксированный размер страницы документа - PullRequest
0 голосов
/ 29 февраля 2012

Я вытаскиваю изображение из Интернета и добавляю его на страницу FixedDocument. Изображение, которое я вытягиваю, имеет размер 1200 х 1500 пикселей. Однако в FixedDocument изображение отображается в виде небольшого эскиза (см. Снимок экрана).

Ниже приведен фрагмент кода.

FixedDocument fd = new FixedDocument();

BitmapImage bi = new BitmapImage();
bi.BeginInit();
bi.UriSource = new Uri(@"http://www.example.com/image.jpg", UriKind.Absolute);
bi.EndInit();
Image i = new Image();
i.Source = bi;

FixedPage fixedPage = new FixedPage();
fixedPage.Children.Add(i);                

PageContent pageContent = new PageContent();
(pageContent as IAddChild).AddChild(fixedPage);
fd.Pages.Add(pageContent);

Мне нужно, чтобы изображение отображалось в соответствии с его размерами, а не в качестве эскиза. Кто-нибудь может сообщить мне, что нужно сделать, чтобы показать изображение в соответствии с его размером?

Большое спасибо.

enter image description here

Ответы [ 3 ]

2 голосов
/ 29 февраля 2012

Ваш код отлично работает для меня с этим большим изображением.

Вы можете перепроверить размер изображения в обработчике событий BitmapSource.DownloadCompleted , чтобы убедиться, что выполучил то, что хотел.

Хотя, я бы не стал объяснять, почему размер изображения будет отличаться от ожидаемого.Насколько я знаю, файлы изображений JPEG могут содержать уменьшенные изображения для быстрого просмотра.Возможно, ваш сервер доставляет такой эскиз?

0 голосов
/ 08 мая 2012

Попробуйте установить

i.Height = bi.PixelHeight;
i.Width = bi.PixelWidth;

Это должно изменить размер i в соответствии с пикселями изображения.

0 голосов
/ 29 февраля 2012

Вы можете добавить ViewBox и поместить изображение внутри него. Размер ViewBox должен соответствовать размеру документа за вычетом любых необходимых полей

...