
[MFC 이미지 색 반전 (Invert color image)] 오늘은 원본 이미지를 출력 후 원본 이미지의 색상을 반전시켜서 바로 옆에 색상을 반전시킨 이미지를 출력시키는 예제를 만들어보겠습니다. [결과 사진] 왼쪽은 원본사진이고 오른쪽은 색상을 반전시킨 사진입니다. 구현은 색상 최댓값인 255에서 현재 픽셀 값을 빼고 다시 그 픽셀에 뺀 값을 저장하는 식으로 구현했습니다. [코드 설명] 먼저 변수를 만들어주기 위해 Dlg.h 헤더 파일에 가줍니다. 원본 이미지를 저장할 변수와 색이 반전된 이미지를 저장할 변수를 추가시켜줍니다. 원본 이미지를 저장할 변수 -> m_image 색이 반전된 이미지를 저장할 변수 -> invert_image // CInvertImageDlg 대화 상자 class CInver..

[MFC 픽셀값 사용해서 이미지 확대 시키기] Dlg.h파일에 가서 CImage 변수 한 개를 만들어줍니다. // CImagePixelControlDlg 대화 상자 class CImagePixelControlDlg : public CDialogEx { private: CImage m_image; cs 다음 Dlg.cpp 파일 OnInitDialog()에가서 m_image에 외부 사진을 로드시켜줍니다. 사진 파일은 소스파일이 있는 폴더에 넣어주시면 됩니다. BOOL CImagePixelControlDlg::OnInitDialog() { CDialogEx::OnInitDialog(); SetIcon(m_hIcon, TRUE); // 큰 아이콘을 설정합니다. SetIcon(m_hIcon, FALSE); // ..

이번에는 이미지를 왼쪽으로 90도 회전시키는 실습을 해보겠습니다. 먼저 앞서 많이 진행했던 이미지 출력을 시켜보겠습니다. Dlg.h파일에 가서 CImage m_image 변수를 추가시켜줍니다. // CRotatExamDlg 대화 상자 class CRotatExamDlg : public CDialogEx { CImage m_image; // 생성입니다. cs 그다음 Dlg.cpp 파일에 가서 아래와 같이 OnInitDialog()에는 m_image에 로드시켜주는 코드를 추가시켜주고 OnPaint()에는 CPaintDC를 if문 밖으로 빼주시고 CDialogEx::OnPaint();를 주석 처리해줍니다. 그리고 m_image를 Draw시키는 코드를 추가시켜줍니다. 마지막으로 원하는 이미지를 다운받아 test..

[MFC 히스토그램 그리기] 오늘은 히스토그램을 출력시키는 예제를 만들어보겠습니다. [결과 사진] 우선 히스토그램의 출력 결과 사진입니다. RGB 중 R값만 히스토그램 출력한 그림입니다. [코드 설명] 히스토그램을 그리기 전에 간단하게 외부 이미지 파일 출력하는 방법에 대해 설명드리겠습니다. 먼저 헤더파일의 Dlg.h 파일에 가셔서 CImage변수로 m_image를 추가해줍니다. 외부 이미지를 저장시켜줄 변수입니다. // CHistogramExamDlg 대화 상자 class CHistogramExamDlg : public CDialogEx { private: CImage m_image; // 생성입니다. public: CHistogramExamDlg(CWnd* pParent = nullptr); // 표..
이번에는 키보드의 방향키로 사각형을 이동시키는 실습을 해보겠습니다~ 먼저 Dlg.h파일에 들어가 CRect m_rect와 m_x_pos,m_y_pos 추가해줍니다. m_x_pos,와 m_y_pos는 0으로 초기화 시켜줍니다. 1 2 3 4 5 6 7 8 9 // CKeyMoveDlg 대화 상자 class CKeyMoveDlg : public CDialogEx { private: CRect m_rect; int m_x_pos=0,m_y_pos=0; public: CKeyMoveDlg(CWnd* pParent = nullptr); //생략.. Colored by Color Scripter cs 다음 Dlg.cpp파일로 가서 OnInitDialog() 부분에 RegisterHotKey를 이용해 아래와 같이 각..
오늘은 CImage를 사용해서 외부 이미지를 출력하는 예제를 만들어 보겠습니다~ 우선 원하는 외부 이미지를 다운로드하여 해당 프로그램의 소스 코드들이 있는 폴더 안에 넣어줍니다. 그리고 헤더 파일의 Dlg.h 파일에 들어가 private 형식으로 CImage 변수로 m_image를 추가시켜줍니다. 나중에 소스 코드를 좀 더 추가하면 외부 이미지를 m_image 변수에 넣어줄 수 있습니다. // CImageLoadExamDlg 대화 상자 class CImageLoadExamDlg : public CDialogEx { private: CImage m_image; // cimage 변수 생성 public: CImageLoadExamDlg(CWnd* pParent = nullptr); // 대화 상자 데이터입니..

[예제 결과] mfc를 사용한 첫번째 예제입니다. 오늘은 아래 그림처럼 마우스와 키보드의 컨트롤 키를 사용해 사각형과 원을 그리고 사각형과 원의 색상 또한 변경시켜 그리는 방법에 대해 설명드리겠습니다. [예제 설명 및 코드] MFC에서 기본적으로 제공하는 함수인 LBUTTONDOWN과 LBUTTONUP을 사용하였습니다. LBUTTONDOWN을 사용하면 마우스의 왼쪽버튼이 눌러졌을때 사용자가 원하는 이벤트가 일어나게 만들 수 있습니다. 또한, LBUTTONUP은 마우스의 왼쪽 버튼을 누른 후 버튼이 띄어졌을때 사용하자 원하는 이벤트가 일어나게 만들 수 있습니다. 저는 왼쪽 마우스 버튼 누르고 드래그 후 마우스 버튼이 업되면 사각형이 그려지게 만들고, 컨트롤 키를 누른상태에서 왼쪽 마우스 버튼을 누르고 드래..

[MFC] MFC는 Microsoft Foundation Class의 약자로 Microsoft에서 개발자들을 위해 클래스들을 편리하게 사용할 수 있도록 만든 라이브러리입니다. [MFC 프로젝트 생성하기!] 앞으로 MFC를 사용해 예제를 하나하나 포스팅할 것이기 때문에 이번 글에서는 프로그램 사용을 위한 기본적인 셋팅 방법에 대해 설명드리겠습니다. 첫 번째로 Visual Studio를 실행해 새 프로젝트를 실행시켜줍니다. 저는 Visual Studio 2019 버전을 사용하고 있고 만약에 위 그림에 있는 MFC 앱 항목이 보이지 않는 경우에는 MFC 설치가 안되어있는 것이기 때문에 installer를 사용해 MFC를 추가해 설치해야 합니다~! 다음으로 프로젝트의 이름과 경로를 설정해줍니다. 애플리케이션 종..