Мне нужно просмотреть многостраничный TIFF в приложении WPF - PullRequest
3 голосов
/ 03 мая 2010

Мне нужно просмотреть многостраничный TIFF с WPF.

В настоящее время у меня есть следующее:

<FlowDocumentReader>
    <FlowDocument>
        <BlockUIContainer>
            <Image x:Name="DocImg" Source="test1752158790.tif" />          
        </BlockUIContainer>
    </FlowDocument>
</FlowDocumentReader>

Я могу просматривать только первую страницу.

Есть ли способ сделать это?

Спасибо! Тодд

Ответы [ 2 ]

4 голосов
/ 03 февраля 2015

В ответ на другой вопрос используйте TiffBitmapDecoder .

Примерно так:

// Decode TIFF image
ImageStream = new FileStream(EnvelopeItem.LocalImagePath, FileMode.Open, FileAccess.Read, FileShare.Read);
ImageDecoder = new TiffBitmapDecoder(ImageStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
PageImage.Source = ImageDecoder.Frames.FirstOrDefault();

Не утилизируйте поток, пока не закончите отображать кадры с изображением.

3 голосов
/ 03 мая 2010

Я бы реализовал ваш собственный контрольный код в конце. Вам понадобится какой-то пользовательский ввод, чтобы указать, когда пользователь переходит с одной страницы на другую, будь то с помощью щелчка мыши или чего-либо еще.

После того, как вы получите этот пользовательский ввод, вы можете показать другую страницу TIFF. И, как было сказано в вопросе, который использовал ChrisF, я бы остановился на libtiff, а точнее на .NET-оболочке FreeImage , которая прекрасно инкапсулирует функциональность TIFF для .NET.

...