추가된 기능 및 개선 사항
- 이미지 다중 선택기능 - [파일 찾기] 시 ctrl+ 클릭 또는 shift+클릭 해서 여러 개의 이미지 파일 동시 선택 가능
- UI 개선 - 배경색, 상단바, 아이콘을 변경하여 더 깔끔해 보이도록 함

소스 코드(이미지 다중 선택 관련)
void CImageConverterDlg::OnBnClickedBtnopen()
{
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
static TCHAR BASED_CODE szFilter[] =
_T("이미지 파일 (*.BMP;*.GIF;*.JPG;*.JPEG;*.PNG)|")
_T("*.BMP;*.GIF;*.JPG;*.JPEG;*.PNG;*.bmp;*.gif;*.jpg;*.jpeg;*.png|")
_T("모든 파일 (*.*)|*.*||");
CFileDialog dlg(TRUE, _T("*.jpg"), _T("image"), OFN_ALLOWMULTISELECT | OFN_HIDEREADONLY, szFilter);
// 다중 선택 시 리스트에 파일 목록 추가
if (IDOK == dlg.DoModal())
{
for (POSITION pos = dlg.GetStartPosition(); pos != NULL;)
{
CString pathName = dlg.GetNextPathName(pos);
int nPos = pathName.ReverseFind(_T('\\'));
CString fileName = pathName.Mid(nPos + 1);
if (!isDuplicatedFile(pathName))
{
int nIndex = m_FileList.InsertItem(m_FileList.GetItemCount(), fileName);
m_FileList.SetItemText(nIndex, 1, pathName);
m_FileList.SetCheck(nIndex, TRUE);
}
}
}
}
OFN_ALLOWMULTISELECT 옵션을 추가 하여, 파일 탐색기를 열었을 때 복수의 파일을 선택 가능하게 만들었다.
파일을 다중선택을 지원할때는 GetStartPosition() 을 통해 루프를 돌며 선택한 파일을 모두 처리해야 한다.
isDuplicatedFile() 함수는 리스트에 같은 파일이 중복으로 들어가는 것을 막기 위해 넣었다.
리스트 추가 전에 리스트를 돌며 동일한 이름의 파일이 있으면 추가하지 않도록 작동한다.
다음 개발 과제
- webp 형식 지원(변경전 및 변경후 형식)
- 파일 저장 위치 선택 기능 추가
webp 형식 지원은 MFC 기본 라이브러리로 변환 가능한지 확인 필요.
불가능할 시 다른 라이브러리 사용 혹은 파이썬 병행 사용도 검토 필요
현재는 기존파일 위치에 변환된 파일이 저장됨,
[저장 위치 선택] 버튼을 추가하여, 지정한 위치에 변환된 파일이 저장 가능하도록 기능 추가 예정
GitHub 링크
https://github.com/Chaeyunbyun/Image_Converter
GitHub - Chaeyunbyun/Image_Converter: 이미지 형식 변환 프로그램 (jpg, jpeg, png, gif, bmp 등 지원)
이미지 형식 변환 프로그램 (jpg, jpeg, png, gif, bmp 등 지원) . Contribute to Chaeyunbyun/Image_Converter development by creating an account on GitHub.
github.com
'연습 프로젝트' 카테고리의 다른 글
| [MFC/ C++] 이미지 변환 프로그램 개발 -1 (0) | 2026.11.04 |
|---|---|
| 텍스트 RPG 게임 만들기-3 (C++) (0) | 2025.03.26 |
| 텍스트 RPG 게임 만들기-2 (C++) (2) | 2025.03.14 |
| 텍스트 RPG 게임 만들기-1 (C++) (0) | 2025.03.12 |




