我需要在 WPF 应用程序中查看多页 TIFF

发布于 2024-08-31 07:05:07 字数 378 浏览 16 评论 0原文

我需要使用 WPF 查看多页 tiff。

我目前有以下情况:

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

我只能查看第一页。

有办法做到这一点吗?

谢谢! 托德

I need to view a multipage tiff with WPF.

I currently have the following:

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

I can only view the first page.

Is there a way to do this?

Thanks!
Todd

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

彩扇题诗 2024-09-07 07:05:07

正如另一个问题中的回答,使用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();

在完成用图像显示帧之前不要丢弃流。

As answered in another question, use TiffBitmapDecoder.

Something like this:

// 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();

Don't dispose of the stream until you're done displaying your frames with the image though.

山色无中 2024-09-07 07:05:07

我会在后面实现你自己的控制代码。您将需要一些用户输入来指示用户何时从一个页面转到下一个页面,无论是通过鼠标单击还是其他方式。

一旦获得用户输入,您就可以显示 tiff 的不同页面。正如 ChrisF 使用的问题中所说,我会选择 libtiff,更具体地说,.NET 包装器 FreeImage 很好地封装了 .NET 的 tiff 功能。

I would implement your own control code in the back. You're going to need some user input to indicate when the user goes from one page to the next, be it via mouse click or whatever.

Once you get that user input, you can then show a different page of the tiff. And as was said in the question ChrisF used, I'd go with libtiff, more specifically, the .NET wrapper FreeImage that nicely encapsulates tiff functionality for .NET.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文