0

我有无数个带有 jpeg 压缩的 tiff 文件。我正在使用这个名为 Lib.tif .net 版本的库,它非常棒,它可以通过 JPEG 压缩 (6/7) 读取/标记/保存 tiff。我也尝试过 imageMagic 和 FreeImage 库(两者都相似)

问题 1 是 .NET (2.0/3.5/4.0) 不支持在其图像查看器控件中使用 Jpeg 压缩查看 Tiff。有没有人有解决方法?或者是否有任何 Tiff Jpeg 图像查看器控件 - 免费/开源? 我们可以将部分 tiff 剥离为位图并将其流式传输到图像查看器控件吗?如果是这样,你能指导我吗?我知道有很多付费版本,例如 GDpicture 或 viscom 或 leedtools 等,但我需要一个免费版本。

问题 2是文件在 windows 7 MODI 和照片查看器和paint.net 和其他应用程序中打开。(32 位和 64 位版本)。但在 Windows XP 传真查看器中无法打开相同的图像。我也尝试使用office 2007 MODI,但没有成功。有什么想法或解决方法吗?

请帮忙。

谢谢 ; 问候普拉德

4

1 回答 1

0

您可以使用此代码以可显示的压缩格式提取页面。

如果使用的压缩是“旧 jpeg”,您可能会遇到问题,在这种情况下,您需要使用 libtiff 或类似的东西来转换图像。

public static Image[] GetFrames(Image sourceImage)
{
    Guid objGuid = sourceImage.FrameDimensionsList[0];
    FrameDimension objDimension = new FrameDimension(objGuid);
    int frameCount = sourceImage.GetFrameCount(objDimension);
    Image[] images = new Image[frameCount];
    for (int i = 0; i < frameCount; i++)
    {
        MemoryStream ms = new MemoryStream();
        sourceImage.SelectActiveFrame(objDimension, i);
        sourceImage.Save(ms, ImageFormat.Jpeg);
        images[i] = Image.FromStream(ms);
    }
    return images;
}

您的第二个问题是由 Windows 中不同版本的 GDI+ 引起的。不幸的是,似乎没有办法更新以前的版本。您可能必须使用外部查看器或不同的压缩方式。

于 2012-01-24T21:15:07.737 回答