用libtiff库写标准.tif传真文件,急急急,快疯了
我用libtiff库来写传真文件的时候遇到了难题,我已经按照规范来设置了传真tag了,但是还是不行
打印出来的是空纸!!
//NewSubfileType 254
TIFFSetField(tif,TIFFTAG_SUBFILETYPE,FILETYPE_PAGE);
//图象宽度 256
TIFFSetField(tif,TIFFTAG_IMAGEWIDTH,w);
//图象高度 257
TIFFSetField(tif, TIFFTAG_IMAGELENGTH, h);
//每个样本的位数 258
TIFFSetField(tif,TIFFTAG_BITSPERSAMPLE,1);
//压缩算法 259
TIFFSetField(tif,TIFFTAG_COMPRESSION,3);
//颜色 262
TIFFSetField(tif,TIFFTAG_PHOTOMETRIC,0);
//WhiteIsZero 266
TIFFSetField(tif,TIFFTAG_FILLORDER,2);
//273
// TIFFSetField(tif,TIFFTAG_STRIPOFFSETS,1269616);
// 274
TIFFSetField(tif, TIFFTAG_ORIENTATION, ORIENTATION_TOPLEFT);
//SamplesPerPixel 277
TIFFSetField(tif,TIFFTAG_SAMPLESPERPIXEL,1);//3);//1);
//RowsPerStrip 278
TIFFSetField(tif,TIFFTAG_ROWSPERSTRIP,h);
//279
// TIFFSetField(tif,TIFFTAG_STRIPBYTECOUNTS,1269632);
//XResolution 282
TIFFSetField(tif,TIFFTAG_XRESOLUTION,204);
//YResolution 283
TIFFSetField(tif,TIFFTAG_YRESOLUTION,196);
// 284
TIFFSetField(tif, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
//Group3Options 292
TIFFSetField(tif,TIFFTAG_GROUP3OPTIONS,0);
//分辨率 296
TIFFSetField(tif,TIFFTAG_RESOLUTIONUNIT,RESUNIT_INCH);
//PageNumber 297
TIFFSetField(tif,TIFFTAG_PAGENUMBER,0);
另外,TIFFTAG_STRIPOFFSETS和TIFFTAG_STRIPBYTECOUNTS这两个tag是否要非设不可,我尝试不设的时候,打印出来的是白纸,如果去设这两个tag的话,我查过libtiff源代码中,libtiff中的TIFFSetField是不提供TIFFTAG_STRIPOFFSETS和TIFFTAG_STRIPBYTECOUNTS的设置的,运行是会弹出警告对话框,提示“Invalid tag (not supported by codec)”。
我也试过用CxImage库去写tif文件,但是CxImage里面的Save函数简单是很简单,但是保存出来的tif根本就不能通过dialogic卡来发传真。我看过CxImage的源代码,里面的tag字段设置没有完全适合tif传真规范。
有没有高手是高手是搞过这方面的,救救我吧,怎样才能设置正确的tag?或者有人做过tif,bmp修改然后将其保存为可传真的tif图像的,请求发几段代码给我看看。或者可以email联系我:yan13579@163.com
谢谢了。各位好心人。