Load 

CString strPath;
TCHAR szFilter[] = _T("Image File(*.png;*.bmp;*.jpg;*.gif)|*.bmp;*.jpg;*.gif;*.png|BMP file(*.bmp)|*.bmp|"
"JPG file(*.jpg)|*.jpg|GIF file(*.gif)|*.gif|PNG file(*.png)|*.png|"
"All Files(*.*)|*.*||");

//TCHAR szFilter[] = "All Files(*.*)|*.*|";  //모든파일

CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter, NULL);
if (IDOK == dlg.DoModal())
{
CString strPath;
strPath = dlg.GetPathName();
std::string strImage;
strImage = std::string(CT2CA(strPath.operator LPCWSTR()));
Mat cvSrc = imread(strImage, IMREAD_COLOR);
}

Save

CFileDialog dlg(FALSE, _T("png"), NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
_T("Image File(*.png;*.bmp;*.jpg;*.gif)|*.bmp;*.jpg;*.gif;*.png|BMP file(*.bmp)|*.bmp|"
   "JPG file(*.jpg)|*.jpg|GIF file(*.gif)|*.gif|PNG file(*.png)|*.png|"));
if (dlg.DoModal() == IDOK)
{
 CString strPath;
  strPath = dlg.GetPathName();
  std::string strImage;
  strImage = std::string(CT2CA(strPath.operator LPCWSTR()));
}

Load 여러개

CString strFilter = _T("Image File(*.BMP;*.JPG) | *.BMP;*.JPG; | All Files(*.*) | *.* || ");
CFileDialog dlg(TRUE, NULL, NULL, OFN_FILEMUSTEXIST | OFN_ALLOWMULTISELECT, strFilter, NULL);
char fileBuffer[4096] = { 0 };
CString strBuffer;
dlg.m_ofn.lpstrFile = strBuffer.GetBuffer(4096);
dlg.m_ofn.nMaxFile = sizeof(fileBuffer);
dlg.m_ofn.nMaxFile = 4096;
CString strPath;
int nOpenFirst = m_listImage.GetItemCount();

if (IDOK == dlg.DoModal())
{
POSITION pos = dlg.GetStartPosition();
int listIndex = m_listImage.GetItemCount();
if (listIndex < 0)
{
listIndex = 0;
}
while (pos != NULL)
{
strPath = dlg.GetNextPathName(pos); 
//여기서 처리

}
}

+ Recent posts