获取pdf和ofd信息的时候,增加图像width和height

This commit is contained in:
luoliangyi 2022-08-16 14:41:35 +08:00
parent 1a87bd77f4
commit 7a0ff459f3
5 changed files with 32 additions and 18 deletions

View File

@ -335,7 +335,8 @@ HGResult HGAPI HGImgFmt_LoadImage(const HGChar* fileName, HGUInt fmtType, HGImgF
} }
else if (HGIMGFMT_TYPE_PDF == fmtType) else if (HGIMGFMT_TYPE_PDF == fmtType)
{ {
HGResult ret = HGImgFmt_LoadPdfImage(fileName, imgType, imgOrigin, image); HGPdfPageInfo pdfInfo;
HGResult ret = HGImgFmt_LoadPdfImage(fileName, &pdfInfo, imgType, imgOrigin, image);
if (HGBASE_ERR_OK != ret) if (HGBASE_ERR_OK != ret)
{ {
return ret; return ret;
@ -343,8 +344,8 @@ HGResult HGAPI HGImgFmt_LoadImage(const HGChar* fileName, HGUInt fmtType, HGImgF
if (NULL != info) if (NULL != info)
{ {
info->width = 0; info->width = pdfInfo.width;
info->height = 0; info->height = pdfInfo.height;
info->bpp = 0; info->bpp = 0;
info->xDpi = 0; info->xDpi = 0;
info->yDpi = 0; info->yDpi = 0;
@ -354,7 +355,8 @@ HGResult HGAPI HGImgFmt_LoadImage(const HGChar* fileName, HGUInt fmtType, HGImgF
} }
else if (HGIMGFMT_TYPE_OFD == fmtType) else if (HGIMGFMT_TYPE_OFD == fmtType)
{ {
HGResult ret = HGImgFmt_LoadOfdImage(fileName, imgType, imgOrigin, image); HGOfdPageInfo ofdInfo;
HGResult ret = HGImgFmt_LoadOfdImage(fileName, &ofdInfo, imgType, imgOrigin, image);
if (HGBASE_ERR_OK != ret) if (HGBASE_ERR_OK != ret)
{ {
return ret; return ret;
@ -362,8 +364,8 @@ HGResult HGAPI HGImgFmt_LoadImage(const HGChar* fileName, HGUInt fmtType, HGImgF
if (NULL != info) if (NULL != info)
{ {
info->width = 0; info->width = ofdInfo.width;
info->height = 0; info->height = ofdInfo.height;
info->bpp = 0; info->bpp = 0;
info->xDpi = 0; info->xDpi = 0;
info->yDpi = 0; info->yDpi = 0;
@ -479,12 +481,13 @@ HGResult HGAPI HGImgFmt_LoadImage(const HGChar* fileName, HGUInt fmtType, HGImgF
return HGBASE_ERR_OK; return HGBASE_ERR_OK;
} }
if (HGBASE_ERR_OK == HGImgFmt_LoadPdfImage(fileName, imgType, imgOrigin, image)) HGPdfPageInfo pdfInfo;
if (HGBASE_ERR_OK == HGImgFmt_LoadPdfImage(fileName, &pdfInfo, imgType, imgOrigin, image))
{ {
if (NULL != info) if (NULL != info)
{ {
info->width = 0; info->width = pdfInfo.width;
info->height = 0; info->height = pdfInfo.height;
info->bpp = 0; info->bpp = 0;
info->xDpi = 0; info->xDpi = 0;
info->yDpi = 0; info->yDpi = 0;
@ -493,12 +496,13 @@ HGResult HGAPI HGImgFmt_LoadImage(const HGChar* fileName, HGUInt fmtType, HGImgF
return HGBASE_ERR_OK; return HGBASE_ERR_OK;
} }
if (HGBASE_ERR_OK == HGImgFmt_LoadOfdImage(fileName, imgType, imgOrigin, image)) HGOfdPageInfo ofdInfo;
if (HGBASE_ERR_OK == HGImgFmt_LoadOfdImage(fileName, &ofdInfo, imgType, imgOrigin, image))
{ {
if (NULL != info) if (NULL != info)
{ {
info->width = 0; info->width = ofdInfo.width;
info->height = 0; info->height = ofdInfo.height;
info->bpp = 0; info->bpp = 0;
info->xDpi = 0; info->xDpi = 0;
info->yDpi = 0; info->yDpi = 0;

View File

@ -90,7 +90,7 @@ HGResult HGAPI HGImgFmt_LoadImageFromOfdReader(HGOfdReader reader, HGUInt page,
return ofdReaderImpl->LoadImage(page, xScale, yScale, imgType, imgOrigin, image); return ofdReaderImpl->LoadImage(page, xScale, yScale, imgType, imgOrigin, image);
} }
HGResult HGAPI HGImgFmt_LoadOfdImage(const HGChar* fileName, HGUInt imgType, HGUInt imgOrigin, HGImage* image) HGResult HGAPI HGImgFmt_LoadOfdImage(const HGChar* fileName, HGOfdPageInfo* info, HGUInt imgType, HGUInt imgOrigin, HGImage* image)
{ {
HGOfdReader reader = NULL; HGOfdReader reader = NULL;
HGResult ret = HGImgFmt_OpenOfdReader(fileName, &reader); HGResult ret = HGImgFmt_OpenOfdReader(fileName, &reader);
@ -99,7 +99,12 @@ HGResult HGAPI HGImgFmt_LoadOfdImage(const HGChar* fileName, HGUInt imgType, HGU
return ret; return ret;
} }
ret = HGImgFmt_LoadImageFromOfdReader(reader, 0, 1.0f, 1.0f, imgType, imgOrigin, image); if (HGBASE_ERR_OK == ret && NULL != info)
ret = HGImgFmt_GetOfdPageInfo(reader, 0, info);
if (HGBASE_ERR_OK == ret && NULL != image)
ret = HGImgFmt_LoadImageFromOfdReader(reader, 0, 1.0f, 1.0f, imgType, imgOrigin, image);
HGImgFmt_CloseOfdReader(reader); HGImgFmt_CloseOfdReader(reader);
return ret; return ret;
} }

View File

@ -29,7 +29,7 @@ HGEXPORT HGResult HGAPI HGImgFmt_GetOfdPageInfo(HGOfdReader reader, HGUInt page,
HGEXPORT HGResult HGAPI HGImgFmt_LoadImageFromOfdReader(HGOfdReader reader, HGUInt page, HGFloat xScale, HGFloat yScale, HGEXPORT HGResult HGAPI HGImgFmt_LoadImageFromOfdReader(HGOfdReader reader, HGUInt page, HGFloat xScale, HGFloat yScale,
HGUInt imgType, HGUInt imgOrigin, HGImage* image); HGUInt imgType, HGUInt imgOrigin, HGImage* image);
HGEXPORT HGResult HGAPI HGImgFmt_LoadOfdImage(const HGChar* fileName, HGUInt imgType, HGUInt imgOrigin, HGImage* image); HGEXPORT HGResult HGAPI HGImgFmt_LoadOfdImage(const HGChar* fileName, HGOfdPageInfo* info, HGUInt imgType, HGUInt imgOrigin, HGImage* image);
HGEXPORT HGResult HGAPI HGImgFmt_OpenOfdImageWriter(const HGChar* fileName, HGOfdImageWriter* writer); HGEXPORT HGResult HGAPI HGImgFmt_OpenOfdImageWriter(const HGChar* fileName, HGOfdImageWriter* writer);

View File

@ -90,7 +90,7 @@ HGResult HGAPI HGImgFmt_LoadImageFromPdfReader(HGPdfReader reader, HGUInt page,
return pdfReaderImpl->LoadImage(page, xScale, yScale, imgType, imgOrigin, image); return pdfReaderImpl->LoadImage(page, xScale, yScale, imgType, imgOrigin, image);
} }
HGResult HGAPI HGImgFmt_LoadPdfImage(const HGChar* fileName, HGUInt imgType, HGUInt imgOrigin, HGImage* image) HGResult HGAPI HGImgFmt_LoadPdfImage(const HGChar* fileName, HGPdfPageInfo* info, HGUInt imgType, HGUInt imgOrigin, HGImage* image)
{ {
HGPdfReader reader = NULL; HGPdfReader reader = NULL;
HGResult ret = HGImgFmt_OpenPdfReader(fileName, &reader); HGResult ret = HGImgFmt_OpenPdfReader(fileName, &reader);
@ -99,7 +99,12 @@ HGResult HGAPI HGImgFmt_LoadPdfImage(const HGChar* fileName, HGUInt imgType, HGU
return ret; return ret;
} }
ret = HGImgFmt_LoadImageFromPdfReader(reader, 0, 1.0f, 1.0f, imgType, imgOrigin, image); if (HGBASE_ERR_OK == ret && NULL != info)
ret = HGImgFmt_GetPdfPageInfo(reader, 0, info);
if (HGBASE_ERR_OK == ret && NULL != image)
ret = HGImgFmt_LoadImageFromPdfReader(reader, 0, 1.0f, 1.0f, imgType, imgOrigin, image);
HGImgFmt_ClosePdfReader(reader); HGImgFmt_ClosePdfReader(reader);
return ret; return ret;
} }

View File

@ -29,7 +29,7 @@ HGEXPORT HGResult HGAPI HGImgFmt_GetPdfPageInfo(HGPdfReader reader, HGUInt page,
HGEXPORT HGResult HGAPI HGImgFmt_LoadImageFromPdfReader(HGPdfReader reader, HGUInt page, HGFloat xScale, HGFloat yScale, HGEXPORT HGResult HGAPI HGImgFmt_LoadImageFromPdfReader(HGPdfReader reader, HGUInt page, HGFloat xScale, HGFloat yScale,
HGUInt imgType, HGUInt imgOrigin, HGImage* image); HGUInt imgType, HGUInt imgOrigin, HGImage* image);
HGEXPORT HGResult HGAPI HGImgFmt_LoadPdfImage(const HGChar* fileName, HGUInt imgType, HGUInt imgOrigin, HGImage* image); HGEXPORT HGResult HGAPI HGImgFmt_LoadPdfImage(const HGChar* fileName, HGPdfPageInfo *info, HGUInt imgType, HGUInt imgOrigin, HGImage* image);
HGEXPORT HGResult HGAPI HGImgFmt_OpenPdfImageWriter(const HGChar* fileName, HGPdfImageWriter* writer); HGEXPORT HGResult HGAPI HGImgFmt_OpenPdfImageWriter(const HGChar* fileName, HGPdfImageWriter* writer);