次の方法で共有


方法 : カスタム視覚効果を使用する

更新 : 2007 年 11 月

この例では、Extensible Application Markup Language (XAML) でカスタム効果を使用する方法を示します。

カスタム効果は、アンマネージ API で作成され、コンポーネント オブジェクト モデル (COM) ダイナミック リンク ライブラリ (DLL) を作成します。マネージ コードでカスタム効果を使用するには、マネージ アセンブリを使用して BitmapEffect を定義し、コンポーネント オブジェクト モデル (COM) ライブラリとやり取りします。アプリケーションでこのカスタム効果を使用するには、このアセンブリを参照する必要があり、効果では、アセンブリによって参照される名前空間を使用する必要があります。サンプル全体については、「カスタム 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