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

发布于 2024-12-11 18:06:54 字数 586 浏览 0 评论 0原文

我有无数的 jpeg 压缩的 tiff 文件。 我正在使用这个名为 Lib.tif .net 版本的库 它非常棒,可以读取/标记/保存 JPEG 压缩的 tiff (6/7)。 我还尝试过 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,但没有成功。 有什么想法或解决方法吗?

请帮忙。

谢谢 ; 问候 普拉德

I have like zillions of tiff files with jpeg compression.
I am working with this library called Lib.tif .net version
it is very great and it can read/tag/save tiff with JPEG compression (6/7).
i have also tried imageMagic and FreeImage libraries (both are similar)

problem 1 is that .NET (2.0/3.5/4.0) does not support viewing Tiff with Jpeg compression in its image viewer controls.
Does any one have a work-around? or is there any Tiff Jpeg image viewer control - free / opensource?

can we strip parts of tiff as bitmap and stream it to image viewer control? if so, can you please guide me?
i know there are plenty of paid versions like GDpicture or viscom or leedtools etc
but i need to have one for free.

problem 2 is that files open in windows 7 MODI and photo viewer and paint.net and other applications. (both 32bit and 64bit versions). BUT the same images do not open in Windows XP Fax viewer . i tried with office 2007 MODI also, but no success.
Any ideas or workarounds?

Please help.

Thanks ;
Regards
prad

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

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

发布评论

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

评论(1

旧时模样 2024-12-18 18:06:54

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

如果使用的压缩是“旧 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+引起的。不幸的是,似乎没有办法更新以前的版本。您可能必须使用外部查看器或不同的压缩方式。

You can use this code to extract the pages in a compression that can be displayed.

You may have a problem if the comression that is used is "old jpeg", in which case you need to use libtiff or something similar to convert the image.

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;
}

Your second problem is caused by the different versions of GDI+ in Windows. Unfortunately, there seems to be no way to update previous versions. You may have to use an external viewer or a different compression.

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