次の方法で共有


罫線効果

境界効果を使用して、エッジからイメージを拡張します。 この効果を使用すると、イメージの端からピクセルを繰り返したり、イメージの反対側の端からピクセルをラップしたり、ビットマップ境界を越えてピクセルをミラー化してビットマップ領域を拡張したりできます。

この効果の 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

ID2D1Effect