Поделиться через


Практическое руководство. Использование пользовательского визуального эффекта

Обновлен: Ноябрь 2007

В этом примере показано использование пользовательских эффектов в Язык XAML (Extensible Application Markup Language).

Пользовательские эффекты создаются с помощью неуправляемых API-интерфейс и создаютМодель COM (Component Object Model) DLL (dynamic-link library — библиотека динамической компоновки). Чтобы использовать пользовательский эффект в управляемом коде, управляемая сборка используется для определения BitmapEffect и для взаимодействия с Модель COM (Component Object Model) библиотекой. Чтобы использовать этот пользовательский эффект в приложении, сборка должна быть ссылающейся и эффект должен использовать пространство имен, на которую ссылается сборка. Полный пример см. в разделе Пример пользовательского эффекта BitmapEffect — RGBFilter.

Пример

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

<Window x:Class="RGBFilterEffectTest.Window1"
    xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
    Title="RGBFilterEffectTest" Height="400" Width="300"
    xmlns:RGBFilter="clr-namespace:RGBFilter;assembly=ManagedRGBFilterBitmapEffect"
    xmlns:MappingPIGen1="clr-namespace:RGBFilter;assembly=ManagedRGBFilterBitmapEffect">

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

<Image Name="RTB" Source="images/kittens.jpg">
  <Image.BitmapEffect>
    <RGBFilter:RGBFilterBitmapEffect >
      <RGBFilter:RGBFilterBitmapEffect.Red>
        <Binding ElementName="redSlider" Path="Value"/>
      </RGBFilter:RGBFilterBitmapEffect.Red>
      <RGBFilter:RGBFilterBitmapEffect.Green>
        <Binding ElementName="greenSlider" Path="Value"/>
      </RGBFilter:RGBFilterBitmapEffect.Green>
      <RGBFilter:RGBFilterBitmapEffect.Blue>
        <Binding ElementName="blueSlider" Path="Value"/>
      </RGBFilter:RGBFilterBitmapEffect.Blue>
    </RGBFilter:RGBFilterBitmapEffect >
  </Image.BitmapEffect>
</Image>

См. также

Задачи

Пример пользовательского эффекта BitmapEffect — RGBFilter

Основные понятия

Общие сведения об эффектах для точечных рисунков

Ссылки

Unmanaged BitmapEffect API