HGView控件上面的图像如果是灰度则按GRAY方式加载,而不总是按RGB方式加载

This commit is contained in:
luoliangyi 2022-05-21 15:02:55 +08:00
parent 6cc1cfddfb
commit 9fc3f86d45
2 changed files with 13 additions and 3 deletions

View File

@ -832,7 +832,7 @@ HGResult HGImgView::enableScroll(bool enable)
HGResult HGImgView::addImage(HGImage image)
{
HGImage img = nullptr;
HGResult ret = HGBase_CloneImage(image, HGBASE_IMGTYPE_RGB, HGBASE_IMGORIGIN_TOP, &img);
HGResult ret = HGBase_CloneImage(image, 0, HGBASE_IMGORIGIN_TOP, &img);
if (ret != HGBASE_ERR_OK)
{
return ret;

View File

@ -1112,7 +1112,17 @@ HGImage MainWindow::createImage()
HGImgFmt_OpenImageReader(getStdString(m_currFilePath).c_str(), 0, &imgFmtReader);
if (nullptr != imgFmtReader)
{
HGImgFmt_LoadImageFromReader(imgFmtReader, (HGUInt)m_multiIndex, nullptr, HGBASE_IMGTYPE_RGB, HGBASE_IMGORIGIN_TOP, &img);
HGImgFmtLoadInfo info;
HGImgFmt_LoadImageFromReader(imgFmtReader, (HGUInt)m_multiIndex, &info, 0, 0, nullptr);
if (info.bpp == 8 || info.bpp == 1)
{
HGImgFmt_LoadImageFromReader(imgFmtReader, (HGUInt)m_multiIndex, nullptr, HGBASE_IMGTYPE_GRAY, HGBASE_IMGORIGIN_TOP, &img);
}
else
{
HGImgFmt_LoadImageFromReader(imgFmtReader, (HGUInt)m_multiIndex, nullptr, HGBASE_IMGTYPE_RGB, HGBASE_IMGORIGIN_TOP, &img);
}
HGImgFmt_CloseImageReader(imgFmtReader);
}
}
@ -2165,7 +2175,7 @@ void MainWindow::on_act_autoCrop_triggered()
HGImage destImage = nullptr;
HGImgProc_ImageAutoCrop(img, (HGBool)isCrop, (HGBool)isDeskew, (HGBool)isFillBlank, &autoCropParam, imgInfo.width, imgInfo.height,
HGBASE_IMGTYPE_RGB, HGBASE_IMGORIGIN_TOP, &destImage);
imgInfo.type, HGBASE_IMGORIGIN_TOP, &destImage);
if (nullptr != destImage)
{
m_view->addImage(destImage);