【问题标题】:Converting Tiff obect from BitMiracle LibTiff to NET types将 Tiff 对象从 BitMiracle LibTiff 转换为 NET 类型
【发布时间】:2012-08-25 14:50:31
【问题描述】:

在客户端我有多个页面的 TIFF 图像中的图像。

首先我将此图像文件转换为字节数组,然后将此数据发送到 Web 服务。

为了将 TIFF 转换为字节数组,我使用方法 System.IO.File.ReadAllBytes

在网络服务方面,我想将此字节数组转换为 如果字节数组包含无效数据,那么有 som 控制会很好。

那么我需要做这些事情:

  • 将多TIFF图像中的所有页面解析为System.Drawing.Image的对象类型

  • 从多 TIFF 中获取指定图像

  • BitMiracle.LibTiff.Classic.Tiff对象转换为字节数组

  • 以 TIFF 格式将 BitMiracle.LibTiff.Classic.Tiff 对象保存到磁盘

我用谷歌搜索,尝试了很多示例,但对我来说,将字节数组转换为 BitMiracle.LibTiff.Classic.Tiff(和返回)并将持有多个 TIFF 的 BitMiracle.LibTiff.Classic.Tiffobject 转换为 System.Drawing.Image的集合。

【问题讨论】:

    标签: c# tiff libtiff.net


    【解决方案1】:

    有两个示例展示了如何从 TIFF 创建 System.Drawing.Image

    这些示例为 TIFF 的当前页面创建System.Drawing.Image。默认情况下,当前页是第一页。

    如果您的 TIFF 图像是多页的,您仍然可以使用示例中的代码。但是您需要将代码封装在一个方法中并多次调用该方法:每个页面调用一次。

    可以使用NumberOfDirectories 方法检索页数。当前页面可以使用SetDirectory方法设置。

    How to use a System.IO.Stream to read or write TIFF images 示例展示了如何从内存流中读取 TIFF 图像。

    【讨论】:

    • 太棒了。但是一个问题 LibTiff.NEt 没有从多 tiff 解析所有页面的方法做另一个集合?我必须一一解析?
    • @whyme 老实说,我不确定我是否理解正确。您想从多页 TIFF 创建多页 TIFF 吗?还是什么?
    • 不,首先我将多页 TIFF 加载到 BitMiracle.LibTiff.Classic.Tiff 对象,然后我需要将此对象中的所有页面解析为 List
    • 好的,正如我在回答中所说,您需要调整现有样本并一一解析页面。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2018-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多