我需要从我的程序中保存多页TIFF,但它似乎是
Qt doesn’t support multipage TIFF.不过,我需要这样做.从我的程序中做到这一点最好的方法是什么?
到目前为止,我正在考虑使用ImageMagick的命令行实用程序从我创建的许多JPEG文件创建多页TIFF,或者将libtiff添加到我的项目并尝试使用它,或者使用GDI(至少在Windows上)生成TIFF .
我可能错过了任何其他想法?
如果可能的话,我想避免使用外部EXE或DLL,即如果我可以直接将库添加到我的项目的源代码中,那将是最好的.
此外,如果您知道已经完成的项目,请发布一个链接,我宁愿不重新发明轮子.
解决方法
Qt使用
libtiff来读写TIFF.所以我会使用相同的库,只是不那么头痛.其次:看看
http://qt.gitorious.org/qt/qt/blobs/4.8/src/gui/image/qtiffhandler.cpp以了解Qt如何写一个QImage.为了支持多个页面,我认为您需要使用TIFFSetField()(参见
here,TIFFTAG_PAGENAME和TIFFTAG_PAGENUMBER).我会开始扩展
write() function或写类似的东西,你在哪里:
> TIFFClientOpen();
>迭代QImages列表
>根据QImage设置页面
>做QTiffHandler :: write()的事情
> TIFFClose();
另见:http://code.google.com/p/multiphoton/source/browse/MatroxImagingLibrary.cpp?#1628