다음을 통해 공유


이미지 자르기

[이 페이지와 연결된 기능인 MCIWnd 창 클래스는 레거시 기능입니다. MediaPlayer로 대체되었습니다. MediaPlayer는 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 MCIWnd 창 클래스 대신 MediaPlayer를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

다음 예제에서는 MCIWnd 창을 만들고 AVI 파일을 로드합니다. 창에는 프레임의 네 면 각각에서 높이 또는 너비의 1/4을 자르는 자르기 명령이 메뉴에 포함되어 있습니다. 이 예제에서는 MCIWndGetSource 매크로를 사용하여 원본 사각형의 현재(초기) 차원을 검색합니다. 수정된 원본 사각형은 원래 높이와 너비의 절반이며 원래 프레임의 가운데에 있습니다. MCIWndPutSource 매크로에 대한 호출은 원본 사각형의 좌표를 다시 정의합니다.

// extern RECT rSource, rDest; 
 
case WM_COMMAND: 
    switch (wParam) 
    { 
        case IDM_CREATEMCIWND: 
            g_hwndMCIWnd = MCIWndCreate( hwnd, 
                g_hinst, 
                WS_CHILD | WS_VISIBLE, 
                "sample.avi" ); 
            break; 
        case IDM_CROPIMAGE:                          // crops image 
            MCIWndGetSource(g_hwndMCIWnd, &rSource); // source rectangle
            rDest.left = rSource.left +              // new boundaries
                ((rSource.right - rSource.left) / 4); 
            rDest.right = rSource.right - 
                ((rSource.right - rSource.left) / 4); 
            rDest.top = rSource.top + 
                ((rSource.bottom - rSource.top) / 4); 
            rDest.bottom = rSource.bottom - 
                ((rSource.bottom - rSource.top) / 4); 
 
            MCIWndPutSource(g_hwndMCIWnd, &rDest);   // new source rectangle 
    } 
    break; 

    // Handle other messages here.