티스토리 뷰
오늘은 CImage를 사용해서 외부 이미지를 출력하는 예제를 만들어 보겠습니다~
우선 원하는 외부 이미지를 다운로드하여
해당 프로그램의 소스 코드들이 있는 폴더 안에 넣어줍니다.
그리고 헤더 파일의 Dlg.h 파일에 들어가 private 형식으로
CImage 변수로 m_image를 추가시켜줍니다.
나중에 소스 코드를 좀 더 추가하면
외부 이미지를 m_image 변수에 넣어줄 수 있습니다.
// CImageLoadExamDlg 대화 상자
class CImageLoadExamDlg : public CDialogEx
{
private:
CImage m_image; // cimage 변수 생성
public:
CImageLoadExamDlg(CWnd* pParent = nullptr);
// 대화 상자 데이터입니다.
#ifdef AFX_DESIGN_TIME
enum { IDD = IDD_IMAGELOADEXAM_DIALOG };
#endif
//생략
|
cs |
다음 소스 파일에 Dlg.cpp 파일의 onInitDialog 쪽으로 갑니다.
방금 선언한 m_image 변수에 이미지를 Load 시켜주기 위해서
m_image.Load(L"test.bmp"); 코드를 추가시켜줍니다.
BOOL CImageLoadExamDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
SetIcon(m_hIcon, TRUE);
SetIcon(m_hIcon, FALSE);
m_image.Load(L"test.bmp"); // cimage 변수에 외부 이미지 로드
return TRUE;
}
|
cs |
그 다음으로 버튼을 누르면 이미지가 출력되게 만드는 예제이기 때문에
리소스 뷰의 Dialog로 갑니다.
이미지를 불러오기 위해 도구 상자에서 버튼 하나를 윈도우 창에
아래와 같이 그려줍니다.
그리고 해당 버튼을 누르면 이미지가 출력되는 이벤트를 만들기 위해서
버튼을 더블 클릭해줍니다.
그러면 버튼이 실행되었을 때 발생하는 이벤트 함수가 생성됩니다.
생성된 함수에 dc를 사용해야하기 때문에
CClientDC dc(this);를 선언해주고
0,0 좌표에 m_image에 저장해둔 이미지를 출력시키기 위해
m_image.Draw(dc, 0, 0); 코드를 추가시켜줍니다.
void CImageLoadExamDlg::OnBnClickedButton1()
{
CClientDC dc(this);
m_image.Draw(dc, 0, 0); // x y 0,0 기준으로 그림이 그려진다.
}
|
cs |
그리고 프로그램을 실행하시고 버튼을 누르면 사용자가 원하는 이미지가 출력되게 됩니다~:)
'프로그래밍 > MFC 프로그래밍' 카테고리의 다른 글
MFC 이미지 회전 시키기 (0) | 2020.01.10 |
---|---|
MFC 히스토그램 그리기 (8) | 2020.01.07 |
MFC 키보드로 사각형 이동시키기 (16) | 2020.01.03 |
MFC 마우스 드래그로 사각형,원 그리기 (1) | 2019.12.29 |
C++ MFC 프로그래밍 시작하기 (0) | 2019.12.29 |