66 lines
2.3 KiB
C
66 lines
2.3 KiB
C
#ifndef __HGTIFF_H__
|
|
#define __HGTIFF_H__
|
|
|
|
#include "../base/HGDef.h"
|
|
#include "../base/HGBaseErr.h"
|
|
#include "HGImgFmtErr.h"
|
|
#include "../base/HGImage.h"
|
|
|
|
HG_DECLARE_HANDLE(HGTiffReader);
|
|
HG_DECLARE_HANDLE(HGTiffWriter);
|
|
|
|
/* 压缩方式 */
|
|
#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_CENTIMETER 3L /* 厘米 */
|
|
|
|
typedef struct
|
|
{
|
|
HGUInt width; /* 图像宽 */
|
|
HGUInt height; /* 图像高 */
|
|
HGUShort bitsPerSample; /* 每个采样的比特数 */
|
|
HGUShort samplesPerPixel; /* 每个像素的采样数 */
|
|
HGUShort compression; /* 压缩方式, 见HGIMGFMT_TIFFCOMP_* */
|
|
HGUShort resolutionUnit; /* 分辨率单位, 见HGIMGFMT_TIFFRESUNIT_* */
|
|
HGFloat xResolution; /* 分辨率x值 */
|
|
HGFloat yResolution; /* 分辨率y值 */
|
|
}UPTiffLoadInfo;
|
|
|
|
typedef struct
|
|
{
|
|
HGUInt compression; /* 压缩方式, 见HGIMGFMT_TIFFCOMP_* */
|
|
HGUInt jpegQuality; /* jpeg压缩质量, 0-100 */
|
|
HGUShort resolutionUnit; /* 分辨率单位, 见HGIMGFMT_TIFFRESUNIT_* */
|
|
HGFloat xResolution; /* 分辨率x值 */
|
|
HGFloat yResolution; /* 分辨率y值 */
|
|
}UPTiffSaveInfo;
|
|
|
|
HGEXPORT HGResult HGAPI HGImgFmt_CheckTiffFile(const HGChar* fileName, HGBool* isTiff);
|
|
|
|
HGEXPORT HGResult HGAPI HGImgFmt_OpenTiffReader(const HGChar* fileName, HGTiffReader* reader);
|
|
|
|
HGEXPORT HGResult HGAPI HGImgFmt_CloseTiffReader(HGTiffReader reader);
|
|
|
|
HGEXPORT HGResult HGAPI HGImgFmt_GetTiffPageCount(HGTiffReader reader, HGUInt* count);
|
|
|
|
HGEXPORT HGResult HGAPI HGImgFmt_LoadImageFromTiffReader(HGTiffReader reader, HGUInt index, UPTiffLoadInfo* info,
|
|
HGUInt imgType, HGUInt imgOrigin, HGImage* image);
|
|
|
|
HGEXPORT HGResult HGAPI HGImgFmt_LoadTiffImage(const HGChar* fileName, UPTiffLoadInfo* info,
|
|
HGUInt imgType, HGUInt imgOrigin, HGImage* image);
|
|
|
|
HGEXPORT HGResult HGAPI HGImgFmt_OpenTiffWriter(const HGChar* fileName, HGTiffWriter* writer);
|
|
|
|
HGEXPORT HGResult HGAPI HGImgFmt_CloseTiffWriter(HGTiffWriter writer);
|
|
|
|
HGEXPORT HGResult HGAPI HGImgFmt_SaveImageToTiffWriter(HGTiffWriter writer, HGImage image, const UPTiffSaveInfo* info);
|
|
|
|
HGEXPORT HGResult HGAPI HGImgFmt_SaveTiffImage(HGImage image, const UPTiffSaveInfo* info, const HGChar* fileName);
|
|
|
|
#endif /* __HGTIFF_H__ */ |