CompositionEffectBrush Класс

Определение

Закрашивает 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
Наследование
Object Platform::Object IInspectable CompositionObject CompositionBrush CompositionEffectBrush
Атрибуты

Требования к 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 эффектов позволяют разработчикам настраивать отрисовку пользовательского интерфейса. Это может быть что-то простое, как настройка уровней насыщенности изображения или что-то более сложное, например связывание многочисленных эффектов вместе и анимация свойств эффекта для создания интересных переходов приложений и взаимодействия с пользователем. Эффект композиции — это граф операций, определяющий способ создания графического содержимого на основе поверхностей композиции. Например, содержимое пикселей изображений. Эффекты применяются к визуальным элементам в дереве и могут ссылаться на существующие поверхности.

Экземпляр CompositionEffectBrush создается с помощью CompositionEffectFactory на основе указанного описания эффекта. CompositionEffectFactory использует формат описания эффекта Win2D в пространстве имен Microsoft.Graphics.Canvas.Effects .

Примечание

Эффекты, которые не поддерживаются, помечены как [NoComposition] в справочнике по API Win2D для пространства имен эффектов.

CompositionEffectBrush применяется к SpriteVisual в дереве композиции.

Источником для CompositionEffectBrush может быть существующая поверхность или текстура или другой эффект, обеспечивающий цепочки эффектов.

CompositionEffectBrush.Properties (наследуется от CompositionObject.Properties) позволяет задавать или анимировать анимируемые свойства, указанные при вызове Compositor. CreateEffectFactory с полным именем EffectName.PropertyName.

Источники эффектов можно задавать независимо от других экземпляров CompositionEffectBrush, а свойства можно анимировать независимо от других экземпляров CompositionEffectBrush.

После объявления графа эффектов система компилирует эффект с помощью встроенных шейдеров. Пользовательские шейдеры не могут быть указаны.

Создание CompositionEffect

Чтобы создать и применить эффект, необходимо выполнить следующие действия.

  1. Создайте описание эффекта. Сведения о допустимых типах эффектов см. в разделе Пространство имен Win2DMicrosoft.Graphics.Canvas.Effects.
  2. Задайте любые источники эффектов с помощью экземпляра CompositionEffectSourceParameter или другого эффекта. При указании другого эффекта создается цепочка эффектов.
  3. Создайте CompositionEffectFactory с помощью Compositor. CreateEffectFactory с описанием эффекта в качестве входных данных.
  4. Создайте экземпляр эффекта с помощью CompositorEffectFactory. CreateBrush.
  5. Задайте любой объект CompositionEffectSourceParameter с помощью CompositionEffectBrush. SetSourceParameter и имя параметра источника, указанное ранее с помощью CompositionEffectSourceParameter.
  6. Создайте экземпляр SpriteVisual с помощью Compositor. CreateSpriteVisual.
  7. Присвойте свойству Brush объекта SpriteVisual значение созданного эффекта.
  8. Добавьте SpriteVisual в дерево композиции с помощью свойства Childrenобъекта ContainerVisual.

Свойства

Comment

Строка, связанная с CompositionObject.

(Унаследовано от CompositionObject)
Compositor

Составитель, используемый для создания этого объекта CompositionObject.

(Унаследовано от CompositionObject)
Dispatcher

Диспетчер для CompositionObject.

(Унаследовано от CompositionObject)
DispatcherQueue

Возвращает dispatcherQueue для объекта CompostionObject.

(Унаследовано от CompositionObject)
ImplicitAnimations

Коллекция неявных анимаций, присоединенных к этому объекту.

(Унаследовано от CompositionObject)
Properties

Коллекция свойств, связанных с CompositionObject.

(Унаследовано от CompositionObject)

Методы

Close()

Закрывает объект CompositionObject и освобождает системные ресурсы.

(Унаследовано от CompositionObject)
ConnectAnimation(String, CompositionAnimation)

Соединения и анимация.

(Унаследовано от CompositionObject)
DisconnectAnimation(String)

Отключает анимацию.

(Унаследовано от CompositionObject)
Dispose()

Выполняет определяемые приложением задачи, связанные с удалением, высвобождением или сбросом неуправляемых ресурсов.

(Унаследовано от CompositionObject)
GetSourceParameter(String)

Извлекает объект CompositionBrush, связанный с заданным именем CompositionEffectSourceParameter .

PopulatePropertyInfo(String, AnimationPropertyInfo)

Определяет свойство, которое можно анимировать.

(Унаследовано от CompositionObject)
SetSourceParameter(String, CompositionBrush)

Связывает имя, объявленное с помощью CompositionEffectSourceParameter , с источником эффекта.

StartAnimation(String, CompositionAnimation)

Подключает анимацию к указанному свойству объекта и запускает анимацию.

(Унаследовано от CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

Подключает анимацию к указанному свойству объекта и запускает анимацию.

(Унаследовано от CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Запускает группу анимации.

Метод StartAnimationGroup в CompositionObject позволяет запустить CompositionAnimationGroup. Все анимации в группе будут запущены одновременно для объекта .

(Унаследовано от CompositionObject)
StopAnimation(String)

Отключает анимацию от указанного свойства и останавливает анимацию.

(Унаследовано от CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Останавливает группу анимации.

(Унаследовано от CompositionObject)
TryGetAnimationController(String)

Возвращает AnimationController для анимации, выполняемой с указанным свойством.

(Унаследовано от CompositionObject)

Применяется к

См. также раздел