更新导出,多流旋转,保存图片日志输出

This commit is contained in:
yangjiaxuan 2022-11-26 11:06:18 +08:00
parent 642a3b4788
commit e91a73e9f4
3 changed files with 29 additions and 58 deletions

View File

@ -72,18 +72,11 @@ void HGAPI Dialog_ExportImageFile::ThreadFunc(HGThread thread, HGPointer param)
break;
}
QFile file(p->m_srcFiles[i]);
if (!file.exists())
{
ret = HGBASE_ERR_FILENOTEXIST;
break;
}
emit p->updateProgress(i);
HGImgFmtReader imgFmtReader = nullptr;
ret = HGImgFmt_OpenImageReader(getStdString(p->m_srcFiles[i]).c_str(), 0, &imgFmtReader);
if (nullptr != imgFmtReader)
if (HGBASE_ERR_OK == ret)
{
HGUInt count = 0;
HGImgFmt_GetImagePageCount(imgFmtReader, &count);
@ -96,17 +89,17 @@ void HGAPI Dialog_ExportImageFile::ThreadFunc(HGThread thread, HGPointer param)
HGImage img = nullptr;
ret = HGImgFmt_LoadImageFromReader(imgFmtReader, j, nullptr, 0, HGBASE_IMGORIGIN_TOP, &img);
if (nullptr != img)
if (HGBASE_ERR_OK == ret)
{
ret = HGImgProc_AddToImageOCRList(ocrMgr, img);
HGBase_DestroyImage(img);
}
if (ret != HGBASE_ERR_OK)
{
break;
}
}
}
HGImgFmt_CloseImageReader(imgFmtReader);
}
@ -136,18 +129,11 @@ void HGAPI Dialog_ExportImageFile::ThreadFunc(HGThread thread, HGPointer param)
break;
}
QFile file(p->m_srcFiles[i]);
if (!file.exists())
{
ret = HGBASE_ERR_FILENOTEXIST;
break;
}
emit p->updateProgress(i);
HGImgFmtReader imgFmtReader = nullptr;
ret = HGImgFmt_OpenImageReader(getStdString(p->m_srcFiles[i]).c_str(), 0, &imgFmtReader);
if (nullptr != imgFmtReader)
if (HGBASE_ERR_OK == ret)
{
HGUInt count = 0;
HGImgFmt_GetImagePageCount(imgFmtReader, &count);
@ -160,7 +146,7 @@ void HGAPI Dialog_ExportImageFile::ThreadFunc(HGThread thread, HGPointer param)
HGImage img = nullptr;
ret = HGImgFmt_LoadImageFromReader(imgFmtReader, j, nullptr, 0, HGBASE_IMGORIGIN_TOP, &img);
if (nullptr != img)
if (HGBASE_ERR_OK == ret)
{
HGImgFmtSaveInfo saveInfo;
saveInfo.jpegQuality = (HGUInt)p->m_jpegQuality;
@ -186,13 +172,13 @@ void HGAPI Dialog_ExportImageFile::ThreadFunc(HGThread thread, HGPointer param)
ret = HGImgFmt_SaveImageToWriter(imgFmtWriter, img, &saveInfo);
HGBase_DestroyImage(img);
}
if (ret != HGBASE_ERR_OK)
{
break;
}
}
}
HGImgFmt_CloseImageReader(imgFmtReader);
}
@ -216,18 +202,11 @@ void HGAPI Dialog_ExportImageFile::ThreadFunc(HGThread thread, HGPointer param)
break;
}
QFile file(p->m_srcFiles[i]);
if (!file.exists())
{
ret = HGBASE_ERR_FILENOTEXIST;
break;
}
emit p->updateProgress(i);
HGImgFmtReader imgFmtReader = nullptr;
ret = HGImgFmt_OpenImageReader(getStdString(p->m_srcFiles[i]).c_str(), 0, &imgFmtReader);
if (nullptr != imgFmtReader)
if (HGBASE_ERR_OK == ret)
{
HGUInt count = 0;
HGImgFmt_GetImagePageCount(imgFmtReader, &count);
@ -240,7 +219,7 @@ void HGAPI Dialog_ExportImageFile::ThreadFunc(HGThread thread, HGPointer param)
HGImage img = nullptr;
ret = HGImgFmt_LoadImageFromReader(imgFmtReader, j, nullptr, 0, HGBASE_IMGORIGIN_TOP, &img);
if (nullptr != img)
if (HGBASE_ERR_OK == ret)
{
char fileName[512];
if(p->m_srcFiles.size() > 1)
@ -277,19 +256,19 @@ void HGAPI Dialog_ExportImageFile::ThreadFunc(HGThread thread, HGPointer param)
ret = MainWindow::saveImage(img, &saveInfo, p->m_isOcr, getStdString(saveFileName).c_str());
HGBase_DestroyImage(img);
}
if (ret != HGBASE_ERR_OK)
break;
}
}
HGImgFmt_CloseImageReader(imgFmtReader);
}
if (ret != HGBASE_ERR_OK)
break;
}
}
}
emit p->finish((int)ret);
}

View File

@ -50,27 +50,20 @@ void HGAPI Dialog_MultiRotateImageFile::ThreadFunc(HGThread thread, HGPointer pa
break;
}
QFile file(p->m_fileList[i]);
if (!file.exists())
{
ret = HGBASE_ERR_FILENOTEXIST;
break;
}
emit p->updateProgress(i);
HGImage img = nullptr;
HGImgFmtReader imgFmtReader = nullptr;
ret = HGImgFmt_OpenImageReader(getStdString(p->m_fileList[i]).c_str(), 0, &imgFmtReader);
if (nullptr != imgFmtReader)
if (HGBASE_ERR_OK == ret)
{
HGUInt pageCount = 0;
HGImgFmt_GetImagePageCount(imgFmtReader, &pageCount);
if (1 == pageCount)
{
ret = HGImgFmt_LoadImageFromReader(imgFmtReader, 0, nullptr, 0, HGBASE_IMGORIGIN_TOP, &img);
if (nullptr != img)
if (HGBASE_ERR_OK == ret)
{
HGImageInfo imgInfo;
HGBase_GetImageInfo(img, &imgInfo);
@ -78,7 +71,7 @@ void HGAPI Dialog_MultiRotateImageFile::ThreadFunc(HGThread thread, HGPointer pa
if (0 == p->m_rotateType)
{
HGImage img2 = nullptr;
HGBase_CreateImage(imgInfo.height, imgInfo.width, imgInfo.type, imgInfo.origin, &img2);
ret = HGBase_CreateImage(imgInfo.height, imgInfo.width, imgInfo.type, imgInfo.origin, &img2);
HGUInt xDpi, yDpi;
HGBase_GetImageDpi(img, &xDpi, &yDpi);
@ -95,7 +88,7 @@ void HGAPI Dialog_MultiRotateImageFile::ThreadFunc(HGThread thread, HGPointer pa
else if (2 == p->m_rotateType)
{
HGImage img2 = nullptr;
HGBase_CreateImage(imgInfo.height, imgInfo.width, imgInfo.type, imgInfo.origin, &img2);
ret = HGBase_CreateImage(imgInfo.height, imgInfo.width, imgInfo.type, imgInfo.origin, &img2);
HGUInt xDpi, yDpi;
HGBase_GetImageDpi(img, &xDpi, &yDpi);

View File

@ -2135,7 +2135,6 @@ void MainWindow::on_act_save_triggered()
return;
}
HGResult saveRet = HGBASE_ERR_FAIL;
HGUInt fmtType = 0;
HGImgFmt_GetImgFmtTypeFromFileName(getStdString(m_currFilePath).c_str(), &fmtType);
if (HGIMGFMT_TYPE_TIFF == fmtType)
@ -2162,19 +2161,19 @@ void MainWindow::on_act_save_triggered()
tiffInfo.yResolution = yDpi;
HGTiffWriter tiffWriter = nullptr;
saveRet = HGImgFmt_OpenTiffWriter(getStdString(m_currFilePath).c_str(), &tiffWriter);
if (HGBASE_ERR_OK == saveRet)
ret = HGImgFmt_OpenTiffWriter(getStdString(m_currFilePath).c_str(), &tiffWriter);
if (HGBASE_ERR_OK == ret)
{
saveRet = HGImgFmt_SaveImageToTiffWriter(tiffWriter, img, &tiffInfo);
ret = HGImgFmt_SaveImageToTiffWriter(tiffWriter, img, &tiffInfo);
HGImgFmt_CloseTiffWriter(tiffWriter);
}
}
else
{
saveRet = HGImgFmt_SaveImage(img, 0, nullptr, getStdString(m_currFilePath).c_str());
ret = HGImgFmt_SaveImage(img, 0, nullptr, getStdString(m_currFilePath).c_str());
}
if (HGBASE_ERR_OK == saveRet)
if (HGBASE_ERR_OK == ret)
{
if(auto_save_changes_ && save_from_changed_)
m_thumb->notify_mouse_leave();