diff --git a/modules/imgfmt/HGTiff.cpp b/modules/imgfmt/HGTiff.cpp index d836bb5d..b460c549 100644 --- a/modules/imgfmt/HGTiff.cpp +++ b/modules/imgfmt/HGTiff.cpp @@ -321,36 +321,11 @@ HGResult HGAPI HGImgFmt_SaveImageToTiffWriter(HGTiffWriter writer, HGImage image TIFFSetField(tif, TIFFTAG_IMAGELENGTH, height); TIFFSetField(tif, TIFFTAG_BITSPERSAMPLE, bitsPerSample); TIFFSetField(tif, TIFFTAG_SAMPLESPERPIXEL, samplesPerPixel); - TIFFSetField(tif, TIFFTAG_PHOTOMETRIC, (1 == samplesPerPixel) ? PHOTOMETRIC_PALETTE : PHOTOMETRIC_RGB); + TIFFSetField(tif, TIFFTAG_PHOTOMETRIC, (1 == samplesPerPixel) ? PHOTOMETRIC_MINISBLACK : PHOTOMETRIC_RGB); TIFFSetField(tif, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG); TIFFSetField(tif, TIFFTAG_ROWSPERSTRIP, height); TIFFSetField(tif, TIFFTAG_ORIENTATION, ORIENTATION_TOPLEFT); - if (HGBASE_IMGTYPE_BINARY == type) - { - uint16 rTable[2], gTable[2], bTable[2]; - //#pragma omp parallel for - for (int32_t i = 0; i < 2; ++i) - { - rTable[i] = i * 255; - gTable[i] = i * 255; - bTable[i] = i * 255; - } - TIFFSetField(tif, TIFFTAG_COLORMAP, rTable, gTable, bTable); - } - else if (HGBASE_IMGTYPE_GRAY == type) - { - uint16 rTable[256], gTable[256], bTable[256]; - //#pragma omp parallel for - for (int32_t i = 0; i < 256; ++i) - { - rTable[i] = i; - gTable[i] = i; - bTable[i] = i; - } - TIFFSetField(tif, TIFFTAG_COLORMAP, rTable, gTable, bTable); - } - if (NULL != info) { TIFFSetField(tif, TIFFTAG_COMPRESSION, info->compression); diff --git a/modules/imgfmt/HGTiff.h b/modules/imgfmt/HGTiff.h index f0f43311..7a316825 100644 --- a/modules/imgfmt/HGTiff.h +++ b/modules/imgfmt/HGTiff.h @@ -10,13 +10,14 @@ HG_DECLARE_HANDLE(HGTiffReader); HG_DECLARE_HANDLE(HGTiffWriter); /* 压缩方式 */ -#define HGIMGFMT_TIFFCOMP_NONE 1L -#define HGIMGFMT_TIFFCOMP_LZW 5L -#define HGIMGFMT_TIFFCOMP_JPEG 7L +#define HGIMGFMT_TIFFCOMP_NONE 1L +#define HGIMGFMT_TIFFCOMP_CCITTFAX4 4L +#define HGIMGFMT_TIFFCOMP_LZW 5L +#define HGIMGFMT_TIFFCOMP_JPEG 7L /* 分辨率单位 */ -#define HGIMGFMT_TIFFRESUNIT_NONE 1L -#define HGIMGFMT_TIFFRESUNIT_INCH 2L /* 英寸 */ +#define HGIMGFMT_TIFFRESUNIT_NONE 1L +#define HGIMGFMT_TIFFRESUNIT_INCH 2L /* 英寸 */ #define HGIMGFMT_TIFFRESUNIT_CENTIMETER 3L /* 厘米 */ typedef struct