は似たようなトピックに関する私の情報を追加したいです。最新(4.0.3)のソースからlibTiffをビルドしました。私のプロジェクトは、すべてのx64であるが、それはかなり簡単だった:x64のため
- ダウンロードして解凍しますlibtiffのソース(何か)
- オープンVS2010(またはX32が)から、あなたの解凍したフォルダに
- CDをcmdをステップ1
- タイプ:NMAKE/F makefile.vc
- libtiffのフォルダ/からファイルを取得し、あなたのプロジェクトに
を追加するには、ここでは16ビットのTIFF dを読み取る例ですATA:
TIFF *MultiPageTiff = TIFFOpen("C:\\MultiPageTiff.tif", "r");
std::vector<unsigned short*> SimulatedQueue;
//Read First TIFF to setup the Buffers and init
//everything
int Width, Height;
//Bit depth, in bits
unsigned short depth;
TIFFGetField(MultiPageTiff, TIFFTAG_IMAGEWIDTH, &Width);
TIFFGetField(MultiPageTiff, TIFFTAG_IMAGELENGTH, &Height);
TIFFGetField(MultiPageTiff, TIFFTAG_BITSPERSAMPLE, &depth);
//This should be Width*(depth/sizeof(char))
tsize_t ScanlineSizeBytes = TIFFScanlineSize(MultiPageTiff);
if(MultiPageTiff){
int dircount = 0;
do{
dircount++;
//I'm going to be QQueue'ing these up, so a buffer needs to be
//allocated per new TIFF page
unsigned short *Buffer = new unsigned short[Width*Height];
//Copy all the scan lines
for(int Row = 0; Row < Height; Row++){
TIFFReadScanline(MultiPageTiff, &Buffer[Row*Width], Row, 0);
}
SimulatedQueue.push_back(Buffer);
}while(TIFFReadDirectory(MultiPageTiff));
TIFFClose(MultiPageTiff);
}
出典:VSから ビルのlibtiff - http://www.remotesensing.org/libtiff/build.html#PC
例マルチページTIFF - http://www.remotesensing.org/libtiff/libtiff.html
その他。 Tiffマニュアル - http://www.remotesensing.org/libtiff/man/
素晴らしい!私はQtが既にlibtiffを使用しているのを知らなかった。それにはどうしたらいいですか? '#include 'tiffioを追加するだけです。 – sashoalm
libtiffは 'src/3rdparty/libtiff/libtiff'フォルダにあります。どのように組み込むかはあなたとあなたのプロジェクト構造に少しあります。 – akira
私はQtは既にlibtiffにリンクしているので、自分のプロジェクトにインポートすることなくlibtiffを使用することはできませんでした。Qtが構築しているヘッダファイルとlibファイルを使用します。私のプログラム。 – sashoalm