获取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)
{
HGResult ret = HGImgFmt_LoadPdfImage(fileName, imgType, imgOrigin, image);
HGPdfPageInfo pdfInfo;
HGResult ret = HGImgFmt_LoadPdfImage(fileName, &pdfInfo, imgType, imgOrigin, image);
if (HGBASE_ERR_OK != ret)
{
return ret;
@ -343,8 +344,8 @@ HGResult HGAPI HGImgFmt_LoadImage(const HGChar* fileName, HGUInt fmtType, HGImgF
if (NULL != info)
{
info->width = 0;
info->height = 0;
info->width = pdfInfo.width;
info->height = pdfInfo.height;
info->bpp = 0;
info->xDpi = 0;
info->yDpi = 0;
@ -354,7 +355,8 @@ HGResult HGAPI HGImgFmt_LoadImage(const HGChar* fileName, HGUInt fmtType, HGImgF
}
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)
{
return ret;
@ -362,8 +364,8 @@ HGResult HGAPI HGImgFmt_LoadImage(const HGChar* fileName, HGUInt fmtType, HGImgF
if (NULL != info)
{
info->width = 0;
info->height = 0;
info->width = ofdInfo.width;
info->height = ofdInfo.height;
info->bpp = 0;
info->xDpi = 0;
info->yDpi = 0;
@ -479,12 +481,13 @@ HGResult HGAPI HGImgFmt_LoadImage(const HGChar* fileName, HGUInt fmtType, HGImgF
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)
{
info->width = 0;
info->height = 0;
info->width = pdfInfo.width;
info->height = pdfInfo.height;
info->bpp = 0;
info->xDpi = 0;
info->yDpi = 0;
@ -493,12 +496,13 @@ HGResult HGAPI HGImgFmt_LoadImage(const HGChar* fileName, HGUInt fmtType, HGImgF
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)
{
info->width = 0;
info->height = 0;
info->width = ofdInfo.width;
info->height = ofdInfo.height;
info->bpp = 0;
info->xDpi = 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);
}
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;
HGResult ret = HGImgFmt_OpenOfdReader(fileName, &reader);
@ -99,7 +99,12 @@ HGResult HGAPI HGImgFmt_LoadOfdImage(const HGChar* fileName, HGUInt imgType, HGU
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);
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,
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);

View File

@ -90,7 +90,7 @@ HGResult HGAPI HGImgFmt_LoadImageFromPdfReader(HGPdfReader reader, HGUInt page,
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;
HGResult ret = HGImgFmt_OpenPdfReader(fileName, &reader);
@ -99,7 +99,12 @@ HGResult HGAPI HGImgFmt_LoadPdfImage(const HGChar* fileName, HGUInt imgType, HGU
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);
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,
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);