Практическое руководство. Использование пользовательского визуального эффекта
Обновлен: Ноябрь 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
Основные понятия
Общие сведения об эффектах для точечных рисунков