diff --git a/build/windows/HGScannerLib/HGScannerLib.def b/build/windows/HGScannerLib/HGScannerLib.def index e98ff05f..87a09e2d 100644 --- a/build/windows/HGScannerLib/HGScannerLib.def +++ b/build/windows/HGScannerLib/HGScannerLib.def @@ -3,6 +3,8 @@ LIBRARY EXPORTS HGLib_LoadImage +HGLib_GetImageData +HGLib_GetImageInfo HGLib_SaveImage HGLib_ReleaseImage HGLib_InitDevice diff --git a/doc/scannerlib/新版SDK接口说明.doc b/doc/scannerlib/新版SDK接口说明.doc index 6b61360c..e9758406 100644 Binary files a/doc/scannerlib/新版SDK接口说明.doc and b/doc/scannerlib/新版SDK接口说明.doc differ diff --git a/doc/scannerlib/新版SDK接口说明.pdf b/doc/scannerlib/新版SDK接口说明.pdf index b8705cec..754e21ff 100644 Binary files a/doc/scannerlib/新版SDK接口说明.pdf and b/doc/scannerlib/新版SDK接口说明.pdf differ diff --git a/sdk/scannerlib/HGScannerLib.cpp b/sdk/scannerlib/HGScannerLib.cpp index d53497b7..0a2e4fe9 100644 --- a/sdk/scannerlib/HGScannerLib.cpp +++ b/sdk/scannerlib/HGScannerLib.cpp @@ -30,6 +30,39 @@ HGLibImage HGAPI HGLib_LoadImage(const HGChar* filePath) return (HGLibImage)image; } +HGByte* HGAPI HGLib_GetImageData(HGLibImage image) +{ + if (NULL == image) + { + return NULL; + } + + HGByte* data = NULL; + HGBase_GetImageData((HGImage)image, &data); + return data; +} + +HGBool HGAPI HGLib_GetImageInfo(HGLibImage image, HGLibImageInfo* imageInfo) +{ + if (NULL == image || NULL == imageInfo) + { + return HGFALSE; + } + + HGImageInfo imgInfo; + if (HGBASE_ERR_OK != HGBase_GetImageInfo((HGImage)image, &imgInfo)) + { + return HGFALSE; + } + + imageInfo->width = imgInfo.width; + imageInfo->height = imgInfo.height; + imageInfo->type = imgInfo.type; + imageInfo->origin = imgInfo.origin; + imageInfo->widthStep = imgInfo.widthStep; + return HGTRUE; +} + HGBool HGAPI HGLib_SaveImage(HGLibImage image, const HGChar* savePath, const HGLibSaveImageParam* saveParam) { if (NULL == image || NULL == savePath) diff --git a/sdk/scannerlib/HGScannerLib.h b/sdk/scannerlib/HGScannerLib.h index 1e850d94..62b25f7e 100644 --- a/sdk/scannerlib/HGScannerLib.h +++ b/sdk/scannerlib/HGScannerLib.h @@ -6,6 +6,23 @@ HG_DECLARE_HANDLE(HGLibImage); HG_DECLARE_HANDLE(HGLibDevice); +/* 1λڰͼ */ +#define HGLIB_IMGTYPE_BINARY 1L +/* 8λҶͼ */ +#define HGLIB_IMGTYPE_GRAY 2L +/* 24λɫB8G8R8ʽ */ +#define HGLIB_IMGTYPE_BGR 3L +/* 24λɫR8G8B8ʽ */ +#define HGLIB_IMGTYPE_RGB 4L +/* 32λɫAlphaͨB8G8R8A8ʽ */ +#define HGLIB_IMGTYPE_BGRA 5L +/* 32λɫAlphaͨR8G8B8A8ʽ */ +#define HGLIB_IMGTYPE_RGBA 6L + +/* ͼݱ淽ʽ */ +#define HGLIB_IMGORIGIN_TOP 1L +#define HGLIB_IMGORIGIN_BOTTOM 2L + /* TIFFѹʽ */ #define HGLIB_TIFFCOMPRESSION_NONE 1L #define HGLIB_TIFFCOMPRESSION_CCITTFAX4 2L @@ -358,6 +375,16 @@ typedef struct HGBool ocr; /* ǷOCRpdfofdʽЧ */ }HGLibSaveImageParam; +/* ͼϢ */ +typedef struct +{ + HGUInt width; /* () */ + HGUInt height; /* () */ + HGUInt type; /* ͣμHGLIB_IMGTYPE_* */ + HGUInt widthStep; /* ÿеֽ */ + HGUInt origin; /* зʽμHGLIB_IMGORIGIN_* */ +}HGLibImageInfo; + typedef struct { HGInt* value; @@ -447,6 +474,12 @@ typedef void (HGAPI *HGLibDeviceScanImageFunc)(HGLibDevice device, HGLibImage im /* ͼ */ HGEXPORT HGLibImage HGAPI HGLib_LoadImage(const HGChar *filePath); +/* ȡͼ */ +HGEXPORT HGByte* HGAPI HGLib_GetImageData(HGLibImage image); + +/* ȡͼϢ */ +HGEXPORT HGBool HGAPI HGLib_GetImageInfo(HGLibImage image, HGLibImageInfo* imageInfo); + /* ͼ */ HGEXPORT HGBool HGAPI HGLib_SaveImage(HGLibImage image, const HGChar* savePath, const HGLibSaveImageParam* saveParam);