クリップ パス
クリップ領域と同様に、クリップ パスは、アプリケーションがデバイス コンテキストに選択できるもう 1 つのグラフィックス オブジェクトです。 クリッピング領域とは異なり、クリップ パスは常にアプリケーションによって作成され、1 つ以上の不規則な図形へのクリッピングに使用されます。 たとえば、アプリケーションでは、文字列内の文字の輪郭を形成する線と曲線を使用して、クリップ パスを定義できます。
クリップ パスを作成するには、まず、必要な不規則な図形を記述するパスを作成する必要があります。 パスは、 BeginPath 関数を呼び出した後、 EndPath 関数を呼び出す前に、適切なグラフィックス デバイス インターフェイス (GDI) 描画関数を呼び出すことによって作成されます。 この関数のコレクションは、パス 角かっこと呼ばれます。 パスとパス 角かっこの詳細については、「 パス」を参照してください。
パスが作成されたら、 SelectClipPath 関数を呼び出し、デバイス コンテキストを識別し、使用モードを指定することで、クリップ パスに変換できます。 使用モードは、システムが新しいクリップ パスとデバイス コンテキストの元のクリッピング領域を組み合わせる方法を決定します。 次の表では、使用モードについて説明します。
モード | 説明 |
---|---|
RGN_AND | クリップ パスには、デバイス コンテキストのクリッピング領域と現在のパスの交差部分 (重複領域) が含まれます。 |
RGN_COPY | クリップ パスは現在のパスです。 |
Rgn_diff | クリップ パスには、デバイス コンテキストのクリッピング領域と、現在のパスの交差部分が含まれます。 |
RGN_OR | クリップ パスには、デバイス コンテキストのクリッピング領域と現在のパスの和集合 (結合領域) が含まれます。 |
RGN_XOR | クリップ パスには、デバイス コンテキストのクリッピング領域と現在のパスの和集合が含まれますが、交差部分は除外されます。 |