罫線効果
境界効果を使用して、エッジからイメージを拡張します。 この効果を使用すると、イメージの端からピクセルを繰り返したり、イメージの反対側の端からピクセルをラップしたり、ビットマップ境界を越えてピクセルをミラー化してビットマップ領域を拡張したりできます。
この効果の CLSID はCLSID_D2D1Border。
画像の例
次の例は、各モードを使用した境界線効果の出力を示しています。 出力サイズは無限ですが、これらの例の画像はサイズの 2 倍にトリミングされます。
鏡
以前は |
---|
![]() |
後 |
![]() |
鎹
以前は |
---|
![]() |
後 |
![]() |
包む
以前は |
---|
![]() |
後 |
![]() |
ComPtr<ID2D1Effect> borderEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Border, &borderEffect);
borderEffect->SetInput(0, bitmap);
borderEffect->SetValue(D2D1_BORDER_PROP_EDGE_MODE_X, D2D1_BORDER_EDGE_MODE_MIRROR);
borderEffect->SetValue(D2D1_BORDER_PROP_EDGE_MODE_Y, D2D1_BORDER_EDGE_MODE_MIRROR);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(borderEffect.Get());
m_d2dContext->EndDraw();
Effect プロパティ
表示名とインデックス列挙 | 形容 |
---|---|
エッジ モード X D2D1_BORDER_PROP_EDGE_MODE_X |
効果の X 方向のエッジ モード。 これをクランプ、ラップ、またはミラーに設定できます。 詳細については、「エッジ モードの」を参照してください。 型はD2D1_BORDER_EDGE_MODE。 既定値は D2D1_BORDER_EDGE_MODE_CLAMP です。 |
エッジ モード Y D2D1_BORDER_PROP_EDGE_MODE_Y |
効果の Y 方向のエッジ モード。 これをクランプ、ラップ、またはミラーに設定できます。 詳細については、「エッジ モードの」を参照してください。 型はD2D1_BORDER_EDGE_MODE。 既定値は D2D1_BORDER_EDGE_MODE_CLAMP です。 |
エッジ モード
表示名とインデックス列挙 | 形容 |
---|---|
鎹 D2D1_BORDER_EDGE_MODE_CLAMP |
イメージの端からピクセルを繰り返します。 |
包む D2D1_BORDER_EDGE_MODE_WRAP |
画像の反対側の端のピクセルを使用します。 |
鏡 D2D1_BORDER_EDGE_MODE_MIRROR |
イメージの端に関するピクセルを反映します。 |
出力ビットマップ
出力ビットマップ サイズは、0 サイズの入力イメージを除くすべての入力に対して無限です。 入力イメージの高さまたは幅が 0 の場合、出力サイズは 0 になります。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 7 用 Windows 8 およびプラットフォーム更新プログラム [デスクトップ アプリ |[Windows ストア アプリ] |
サポートされている最小サーバー | Windows 7 用 Windows 8 およびプラットフォーム更新プログラム [デスクトップ アプリ |[Windows ストア アプリ] |
ヘッダ | d2d1effects.h |
図書館 | d2d1.lib、dxguid.lib |