次の方法で共有


イメージのトリミング

[MCIWnd ウィンドウ クラス このページに関連付けられている機能は、従来の機能です。 これは、MediaPlayerに置き換えられます。 MediaPlayer は、Windows 10 および Windows 11 用に最適化されています。 新しいコードでは、可能な場合は MCIWnd ウィンドウ クラス ではなく、MediaPlayer使用することを強くお勧めします。 従来の API を使用する既存のコードは、可能であれば新しい API を使用するように書き直すよう提案しています。

次の例では、MCIWnd ウィンドウを作成し、AVI ファイルを読み込みます。 ウィンドウには、フレームの 4 辺のそれぞれから高さまたは幅の 4 分の 1 をトリミングするトリミング コマンドがメニューに含まれています。 この例では、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.