Tiff Jpeg图像查看器控件 - 免费/开源

时间:2011-10-23 18:27:01

标签: .net jpeg tiff libtiff image-compression

我喜欢使用jpeg压缩的zillions 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,但没有成功。 任何想法或解决方法?

请帮忙。

谢谢; 问候 PRAD

1 个答案:

答案 0 :(得分: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 +引起的。不幸的是,似乎无法更新以前的版本。您可能必须使用外部查看器或不同的压缩。