6.3.5 감마 보정 메뉴 만들기

    감마 보정 메뉴와 메뉴 이벤트 처리기를 추가해보자. 감마 보정을 위한 새 메뉴 항목은 6.2절에서 추가한 [밝기/명암비 조절(&B)...] 메뉴 아래에 추가하자. 새로 추가할 [감마 보정] 메뉴 항목 속성과 메뉴 이벤트 처리기 정보를 표 6-11과 표 6-12에 각각 나타내었다.

    표 6-11 [감마 보정] 메뉴 항목 속성

    ID

    Caption

    ID_GAMMA_CORRECTION

    감마 보정(&G)...

    표 6-12 [감마 보정] 메뉴 이벤트 처리기 정보

    명령 이름(ID)

    처리 클래스

    메시지 형식

    처리기 이름

    ID_GAMMA_CORRECTION

    CImageToolDoc

    COMMAND

    OnGammaCorrection

    OnGammaCorrection 함수에 추가할 코드는 소스 6-15에 나타내었다. 앞에서 만들었던 반전, 밝기/명암비 조절 메뉴에 대한 이벤트 처리 함수와 큰 차이가 없으므로 자세한 설명은 생략한다.

    소스 6-15 [감마 보정] 메뉴 이벤트 처리 함수(ImageToolDoc.cpp)
    #include "GammaCorrectionDlg.h"void CImageToolDoc::OnGammaCorrection()
    {
        CGammaCorrectionDlg dlg;
        if (dlg.DoModal() == IDOK)
        {
            CONVERT_DIB_TO_BYTEIMAGE(m_Dib, img)
            IppGammaCorrection(img, dlg.m_fGamma);
            CONVERT_IMAGE_TO_DIB(img, dib)
    
            AfxPrintInfo(_T("[감마 보정] 입력 영상: %s, 감마: %4.2f"), GetTitle(), dlg.m_fGamma);
            AfxNewBitmap(dib);
        }
    }
    
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.