错误:读取 .tiff 文件时“编解码器无法使用提供的流类型”

Posted

技术标签:

【中文标题】错误:读取 .tiff 文件时“编解码器无法使用提供的流类型”【英文标题】:Error : "The codec cannot use the type of stream provided" while reading a .tiff File 【发布时间】:2017-02-02 13:55:35 【问题描述】:

当我尝试使用 TiffBitmapDecoder 读取 .tif 图像时出现上述错误。我使用的代码是

using (Stream stream = new FileStream(filepath,FileMode.Open,FileAccess.Read,FileShare.Read))
            
                TiffBitmapDecoder decoder = new TiffBitmapDecoder(stream, BitmapCreateOptions.IgnoreImageCache, BitmapCacheOption.None);

                BitmapSource bitmapsource = decoder.Frames[0];
            

如果有人遇到类似问题并解决了它。请分享一些想法。

【问题讨论】:

你遇到了什么错误? “编解码器不能使用提供的流类型”这是我得到的错误 您能否确保文件实际上是 .tiff 类型而不是其他类型,有时可以手动重命名文件以更改扩展名。 @makot:我现在在同一行 Tiffbitmapdecoder 上遇到同样的错误。请帮我。你做了什么来解决这个问题? TIFF 是数千种不兼容文件格式的首字母缩写词。如果您确定这实际上是一个 tiff 文件,而不仅仅是一个文件扩展名错误的文件,并且无法控制创建该文件的应用程序,那么您需要去购物,Lead Tools 是该业务领域中的一千磅大猩猩。 【参考方案1】:

你可以试试BitmapDecoder.Create()这可以让你读取任何图像的流类型

using (Stream stream = new FileStream(filepath,FileMode.Open,FileAccess.Read,FileShare.Read))
        
            BitmapDecoder decoder = BitmapDecoder.Create(stream, BitmapCreateOptions.IgnoreImageCache, BitmapCacheOption.None);

            BitmapSource bitmapsource = decoder.Frames[0];
        

【讨论】:

以上是关于错误:读取 .tiff 文件时“编解码器无法使用提供的流类型”的主要内容,如果未能解决你的问题,请参考以下文章

为啥VS2010下OpenCV读取TIFF文件读取失败?

tiff文件读取

Python读取TIFF多通道图像

使用数据阅读器在 tensorflow 中读取 tiff 文件的正确方法

在python中将tiff转换为jpeg

File "C: MATLAB7work mischouse. tiff”does not exist.