我想将一个tiff文件中的图片都给读取出来,保存成BMP格式的文件
然后再打印,我该怎么做呢?麻烦大家帮帮忙!

解决方案 »

  1.   

    用WINHEX去分析下TIFF文件的结构,然后读出它的有效数据,建立DIB类,数据转换成BMP文件。这个只是个方向 关键是你要了解TIFF文件结构,什么是头,什么是它的数据域。有了数据转BMP还不是很简单。TIFF (TaglmageFileFormat)图像文件是由Aldus和Microsoft公司为桌上出版系统研制开发的一种较为通用的图像文件格式。 TIFF格式灵活易变,它又定义了四类不同的格式:TIFF-B适用于二值图像:TIFF-G适用于黑白灰度图像;TIFF-P适用于带调色板的彩色图像:TIFF-R适用于RGB真彩图像。 TIFF支持多种编码方法,其中包括RGB无压缩、RLE压缩及JPEG压缩等。 TIFF是现存图像文件格式中最复杂的一种,它具有扩展性、方便性、可改性,可以提供给IBMPC等环境中运行、图像编辑程序。 TIFF图像文件由三个数据结构组成,分别为文件头、一个或多个称为IFD的包含标记指针的目录以及数据本身。 TIFF图像文件中的第一个数据结构称为图像文件头或IFH。这个结构是一个TIFF文件中唯一的、有固定位置的部分;IFD图像文件目录是一个字节长度可变的信息块,Tag标记是TIFF文件的核心部分,在图像文件目录中定义了要用的所有图像参数,目录中的每一目录条目就包含图像的一个参数。 
      

  2.   

    你也可以考虑用OpenCV ,很好用的。
    我读取TIFF、转其他格式都用OpenCV实现。
      

  3.   

    TIFF是非常复杂的文件格式,如果你要自己写代码进转换,会相当的麻烦。
      

  4.   

    用CxImage就十分简单 严重推荐
      

  5.   

    [email protected]
    麻烦给个例子!
      

  6.   

    TIF格式图像文件初探(转同事的一篇文章)
    http://www.cgsir.com/phpbb/viewtopic.php?t=18&highlight=tiff
      

  7.   

    libtiff很好用CxImage其实就用的是它
    OpenCV没接触过,不好说
      

  8.   

    可以发一份给我吗?
    谢谢!!
    [email protected]
      

  9.   

    找一个图形库就可以了
    libtiff
    gdal
    Cximage
    都可以
      

  10.   

    同意使用GDI+,使用简单,并且系统集成了
      

  11.   

    如果使用GDI+显示TIFF文件,那是很简单的,如果要编辑,会相对麻烦一点
    Gdiplus::Image image.FromFile("a.tiff");Gdiplus::Grphics g(TargetDC);
    g.DrawImage(image);
    // 这样就可以显示tiff的第一页了// 如果要显示其它页面,先使用image.SelectActiveFrame(...)选择要显示的页面,然后再调用g.DrawImage(image)就可以了
    // 当然还有一些其它细节的东西,比如获得tiff文件的FrameDimensions, FrameCount等,MSDN上有现成的示例程序,自己去找吧