CompositionEffectBrush クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
フィルター効果の出力を使用して SpriteVisual を塗りつぶします。 フィルター効果の説明は、 CompositionEffectFactory クラスを使用して定義されます。
public ref class CompositionEffectBrush sealed : CompositionBrush
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 131072)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class CompositionEffectBrush final : CompositionBrush
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 131072)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class CompositionEffectBrush : CompositionBrush
Public NotInheritable Class CompositionEffectBrush
Inherits CompositionBrush
- 継承
- 属性
Windows の要件
デバイス ファミリ |
Windows 10 (10.0.10586.0 で導入)
|
API contract |
Windows.Foundation.UniversalApiContract (v2.0 で導入)
|
例
// Create an effect description
GaussianBlurEffect blurEffect = new GaussianBlurEffect()
{
Name = "Blur",
BlurAmount = 1.0f,
BorderMode = EffectBorderMode.Hard,
Optimization = EffectOptimization.Balanced
};
blurEffect.Source = new CompositionEffectSourceParameter("source");
CompositionEffectFactory blurEffectFactory = _compositor.CreateEffectFactory(blurEffect);
CompositionEffectBrush blurBrush = blurEffectFactory.CreateBrush();
// Create a BackdropBrush and bind it to the EffectSourceParameter “source”
CompositionBackdropBrush backdropBrush = _compositor.CreateBackdropBrush();
blurBrush.SetSourceParameter("source", backdropBrush);
// The SpriteVisual to apply the blur BackdropBrush to
// This will cause everything behind this SpriteVisual to be blurred
SpriteVisual blurSprite = _compositor.CreateSpriteVisual();
blurSprite.Brush = blurBrush;
// Set blurSprite as a child visual of a XAML element
ElementCompositionPreview.SetElementChildVisual(blurArea, blurSprite);
注釈
効果 API を使用すると、開発者は UI のレンダリング方法をカスタマイズできます。 これは、画像の彩度レベルを調整するのと同じくらい単純なものでも、多数の効果を連結して効果プロパティをアニメーション化して、興味深いアプリケーションの切り替えやユーザー エクスペリエンスを作成するなど、より複雑なものになります。 コンポジション効果は、コンポジション サーフェスに基づいてグラフィカル コンテンツを生成する方法を定義する操作のグラフです。 たとえば、画像のピクセル コンテンツなどです。 効果はツリー内のビジュアルに適用され、既存のサーフェスを参照できます。
CompositionEffectBrush のインスタンスは、指定した効果の説明に基づいて CompositionEffectFactory を使用して作成されます。 CompositionEffectFactory は、Microsoft.Graphics.Canvas.Effects 名前空間の Win2D 効果の説明形式を使用します。
注意
サポートされていない効果は、効果名前空間の Win2D API リファレンスで [NoComposition] としてマークされます。
CompositionEffectBrush は、コンポジション ツリーの SpriteVisual に適用されます。
CompositionEffectBrush へのソースには、既存のサーフェスまたはテクスチャ、またはエフェクト チェーンを有効にする別の効果を指定できます。
CompositionEffectBrush.Properties (CompositionObject.Properties から継承) を使用すると、コンポジターの呼び出しで指定されたアニメーション化可能なプロパティを設定またはアニメーション化できます。完全な 'EffectName.PropertyName' 名を使用した CreateEffectFactory 。
効果ソースは他の CompositionEffectBrush インスタンスとは独立して設定でき、プロパティは他の CompositionEffectBrush インスタンスとは別にアニメーション化できます。
効果グラフが宣言されると、システムは組み込みのシェーダーを使用して効果をコンパイルします。 カスタム シェーダーを指定できません。
CompositionEffect の作成
効果を作成して適用するには、次の手順を実行する必要があります。
- 効果の説明を作成します。 有効な効果の種類については、 Win2D 名前空間 Microsoft.Graphics.Canvas.Effects を参照してください。
- CompositionEffectSourceParameter のインスタンスまたは別の効果を使用して、効果ソースを設定します。 別の効果を指定すると、効果チェーンが作成されます。
- コンポジターを使用して CompositionEffectFactory を作成します。効果の説明を入力として使用する CreateEffectFactory 。
- CompositorEffectFactory を使用して、効果のインスタンスを作成します。CreateBrush。
- CompositionEffectBrush を使用して、CompositionEffectSourceParameter を設定します。SetSourceParameter と、 CompositionEffectSourceParameter を使用して以前に指定したソース パラメーターの名前。
- Compositor を使用して SpriteVisual のインスタンスを作成します。CreateSpriteVisual。
- SpriteVisual の Brush プロパティを作成した効果に設定します。
- ContainerVisual の Children プロパティを使用して、SpriteVisual をコンポジション ツリーに追加します。
プロパティ
Comment |
CompositionObject に関連付ける文字列。 (継承元 CompositionObject) |
Compositor |
この CompositionObject の作成に使用されるコンポジター。 (継承元 CompositionObject) |
Dispatcher |
CompositionObject のディスパッチャー。 (継承元 CompositionObject) |
DispatcherQueue |
CompostionObject の DispatcherQueue を取得します。 (継承元 CompositionObject) |
ImplicitAnimations |
このオブジェクトにアタッチされた暗黙的なアニメーションのコレクション。 (継承元 CompositionObject) |
Properties |
CompositionObject に関連付けられているプロパティのコレクション。 (継承元 CompositionObject) |