2022-05-03 10:25:52 +00:00
|
|
|
|
#ifndef __HGJPEG_H__
|
|
|
|
|
#define __HGJPEG_H__
|
|
|
|
|
|
|
|
|
|
#include "../base/HGDef.h"
|
|
|
|
|
#include "../base/HGBaseErr.h"
|
|
|
|
|
#include "HGImgFmtErr.h"
|
|
|
|
|
#include "../base/HGImage.h"
|
|
|
|
|
#include "../base/HGBuffer.h"
|
|
|
|
|
|
2022-05-13 03:56:46 +00:00
|
|
|
|
/* 颜色空间 */
|
|
|
|
|
#define HGIMGFMT_JPEGCLRSPACE_UNKNOWN 0L
|
|
|
|
|
#define HGIMGFMT_JPEGCLRSPACE_GRAYSCALE 1L
|
|
|
|
|
#define HGIMGFMT_JPEGCLRSPACE_RGB 2L
|
|
|
|
|
|
|
|
|
|
/* 分辨率单位 */
|
|
|
|
|
#define HGIMGFMT_JPEGDENUNIT_INCH 1L /* 英寸 */
|
|
|
|
|
#define HGIMGFMT_JPEGDENUNIT_CENTIMETER 2L /* 厘米 */
|
|
|
|
|
|
2022-10-12 03:35:09 +00:00
|
|
|
|
#pragma pack(push)
|
|
|
|
|
#pragma pack(4)
|
|
|
|
|
|
2022-05-03 10:25:52 +00:00
|
|
|
|
typedef struct
|
|
|
|
|
{
|
2022-05-13 03:56:46 +00:00
|
|
|
|
HGUInt width; /* 图像宽 */
|
|
|
|
|
HGUInt height; /* 图像高 */
|
|
|
|
|
HGUInt numComponents; /* 颜色数量 */
|
|
|
|
|
HGUInt colorSpace; /* 颜色空间, 见HGIMGFMT_JPEGCLRSPACE_* */
|
|
|
|
|
HGByte densityUnit; /* 分辨率单位, 见HGIMGFMT_JPEGDENUNIT_* */
|
|
|
|
|
HGUShort xDensity; /* 分辨率x值 */
|
|
|
|
|
HGUShort yDensity; /* 分辨率y值 */
|
2022-05-03 10:25:52 +00:00
|
|
|
|
}HGJpegLoadInfo;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
2022-05-13 03:56:46 +00:00
|
|
|
|
HGUInt quality; /* 压缩质量, 0-100 */
|
|
|
|
|
HGByte densityUnit; /* 分辨率单位, 见HGIMGFMT_JPEGDENUNIT_* */
|
|
|
|
|
HGUShort xDensity; /* 分辨率x值 */
|
|
|
|
|
HGUShort yDensity; /* 分辨率y值 */
|
2022-05-03 10:25:52 +00:00
|
|
|
|
}HGJpegSaveInfo;
|
|
|
|
|
|
2022-10-12 03:35:09 +00:00
|
|
|
|
#pragma pack(pop)
|
|
|
|
|
|
2022-05-03 10:25:52 +00:00
|
|
|
|
HGEXPORT HGResult HGAPI HGImgFmt_CheckJpegFile(const HGChar* fileName, HGBool *isJpeg);
|
|
|
|
|
|
|
|
|
|
HGEXPORT HGResult HGAPI HGImgFmt_LoadJpegImage(const HGChar* fileName, HGJpegLoadInfo* info,
|
|
|
|
|
HGUInt imgType, HGUInt imgOrigin, HGImage* image);
|
|
|
|
|
|
|
|
|
|
HGEXPORT HGResult HGAPI HGImgFmt_LoadJpegImageFromBuffer(HGBuffer buffer, HGJpegLoadInfo* info,
|
|
|
|
|
HGUInt imgType, HGUInt imgOrigin, HGImage* image);
|
|
|
|
|
|
2022-05-13 03:56:46 +00:00
|
|
|
|
HGEXPORT HGResult HGAPI HGImgFmt_SaveJpegImage(HGImage image, const HGJpegSaveInfo* info, const HGChar* fileName);
|
2022-05-03 10:25:52 +00:00
|
|
|
|
|
2022-05-13 03:56:46 +00:00
|
|
|
|
HGEXPORT HGResult HGAPI HGImgFmt_SaveJpegImageToBuffer(HGImage image, const HGJpegSaveInfo* info, HGBuffer *buffer);
|
2022-05-03 10:25:52 +00:00
|
|
|
|
|
|
|
|
|
#endif /* __HGJPEG_H__ */
|