Freigeben über


Gewusst wie: Anwenden eines Effekts auf einen Teil eines Bilds

Aktualisiert: November 2007

In diesem Beispiel wird das Anwenden eines BitmapEffect auf einen Teil eines Image mit der BitmapEffectInput-Eigenschaft veranschaulicht.

Beispiel

Im folgenden Beispiel werden zwei Möglichkeiten zum Anwenden eines Effekts auf einen Teil des visuellen Inhalts gezeigt.

<Page xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml">
  <Page.Resources>
    <BitmapImage x:Key="sourceImage" UriSource="/images/WaterLilies.jpg"/>
  </Page.Resources>

  <StackPanel>
    <DockPanel>
      <StackPanel DockPanel.Dock="Left">
        <TextBlock>AreaToApplyEffect=".25,.25,.50,.50"</TextBlock>
        <TextBlock>AreaToApplyEffectUnits="RelativeToBoundingBox"</TextBlock>
      </StackPanel>
      <Image Width="360" Source="{StaticResource sourceImage}" Margin="10" DockPanel.Dock="Left">
        <Image.BitmapEffect>

          <!-- <BitmapEffectGroup> would go here if you wanted to apply more 
             then one effect to the TextBox. However, in this example only  
             one effect is being applied so BitmapEffectGroup does not need  
             to be included. -->

          <!-- Effect to Apply to the Image -->
          <EmbossBitmapEffect Relief="0.8" LightAngle="320" />
        </Image.BitmapEffect>
        <Image.BitmapEffectInput>

          <!-- BitmapEffectInput is used to apply the bitmap effect to a specified
                 region of the visual. When this property is not used, the effect
                 is applied to the entire visual.

               AreaToApplyEffect is a rectangular area in which to apply the effect.
               - When AreaToApplyEffectUnits is "Absolute", the rectangle is read as
                 pixel coordinates within the visual.
               - When AreaToApplyEffectUnits is "RelativeToBoundingBox",
                 the rectangle values are relative to the entire bounding box.
                 Values range between 0 and 1, where (0,0) is the top-left corner
                 and (1,1) is the bottom-right corner. -->

          <BitmapEffectInput AreaToApplyEffect=".25,.25,.50,.50" AreaToApplyEffectUnits="RelativeToBoundingBox"/>
        </Image.BitmapEffectInput>
      </Image>
    </DockPanel>
    <DockPanel>
      <StackPanel DockPanel.Dock="Left">
        <TextBlock>AreaToApplyEffect="90,66,180,135"</TextBlock>
        <TextBlock>AreaToApplyEffectUnits="Absolute"</TextBlock>
      </StackPanel>
      <Image Width="360" Source="{StaticResource sourceImage}" Margin="10" DockPanel.Dock="Left">
        <Image.BitmapEffect>

          <!-- <BitmapEffectGroup> would go here if you wanted to apply more 
             then one effect to the TextBox. However, in this example only  
             one effect is being applied so BitmapEffectGroup does not need  
             to be included. -->

          <!-- Effect to Apply to the Image -->
          <EmbossBitmapEffect Relief="0.8" LightAngle="320" />
        </Image.BitmapEffect>
        <Image.BitmapEffectInput>

          <!-- BitmapEffectInput is used to apply the bitmap effect to a specified
                 region of the visual. When this property is not used, the effect
                 is applied to the entire visual.

             AreaToApplyEffect is a rectangular area in which to apply the effect.
               - When AreaToApplyEffectUnits is "Absolute", the rectangle is read as
                 pixel coordinates within the visual.
               - When AreaToApplyEffectUnits is "RelativeToBoundingBox",
                 the rectangle values are relative to the entire bounding box.
                 Values range between 0 and 1, where (0,0) is the top-left corner
                 and (1,1) is the bottom-left corner. -->

          <BitmapEffectInput AreaToApplyEffect="90,66,180,135" AreaToApplyEffectUnits="Absolute"/>
        </Image.BitmapEffectInput>
      </Image>
    </DockPanel>
  </StackPanel>

</Page>

In der folgenden Abbildung wird ein nur auf die Mitte eines Bilds angewendeter Prägungseffekt dargestellt.

Ein Prägeeffekt für Teile eines Bildes.

Siehe auch

Referenz

EmbossBitmapEffect