Image TileMode = FlipXY

image_pdfimage_print


   
   
<Window x:Class="Chapter05.ImageBrushTile"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Title="ImageBrush Tiling" Height="300" Width="300">
      <StackPanel Margin="5" Grid.Column="1" Grid.Row="1">
        <TextBlock Margin="5,5,5,0" Text="TileMode = FlipXY" />
        <TextBlock Margin="5,0,5,5" Text="Unit: Reltive" />
        <Button Width="135" Height="100">
          <Button.Background>


            <ImageBrush ImageSource="c:image.jpg"
              Viewport="0,0,0.2,0.25" TileMode="FlipXY" />


          </Button.Background>
        </Button>
      </StackPanel>
</Window>    

   
    
    
     


RotateTransform an ImageBrush

image_pdfimage_print


   
   


<Window x:Class="Workspace.DockExample"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Workspace" Width="640" Height="480">
    <Rectangle Width="175" Height="90" Stroke="Black">
      <Rectangle.Fill>
        <ImageBrush ImageSource="c:image.jpg">
          <ImageBrush.RelativeTransform>
            <RotateTransform CenterX="0.5" CenterY="0.5" Angle="45" />
          </ImageBrush.RelativeTransform>
        </ImageBrush>
      </Rectangle.Fill>
    </Rectangle>
</Window>

   
    
    
     


Tiled ImageBrush examples

image_pdfimage_print


   
   
<Window x:Class="Workspace.DockExample"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Workspace" Width="640" Height="480">
   <StackPanel>
    <Rectangle Width="175" Height="90" Stroke="Black">
      <Rectangle.Fill>
        <ImageBrush ImageSource="c:image.jpg" Viewport="0,0,0.5,0.5" TileMode="Tile" />
      </Rectangle.Fill>
    </Rectangle>
    <Rectangle Width="175" Height="90" Stroke="Black">
      <Rectangle.Fill>
        <ImageBrush ImageSource="c:image.jpg" Viewport="0,0,0.5,0.5" TileMode="Tile">
          <ImageBrush.RelativeTransform>
            <RotateTransform CenterX="0.5" CenterY="0.5" Angle="45" />
          </ImageBrush.RelativeTransform>
        </ImageBrush>
      </Rectangle.Fill>
    </Rectangle>
    <Rectangle Width="175" Height="90" Stroke="Black">
      <Rectangle.Fill>
        <ImageBrush ImageSource="c:image.jpg" Viewport="0,0,0.5,0.5" TileMode="Tile">
          <ImageBrush.Transform>
            <RotateTransform CenterX="87.5" CenterY="45" Angle="45" />
          </ImageBrush.Transform>
        </ImageBrush>
      </Rectangle.Fill>
    </Rectangle>
   </StackPanel>    
</Window>

   
    
    
     


ImageBrush Opacity from 1 to 0

image_pdfimage_print


   
   
<Window x:Class="Workspace.DockExample"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Workspace" Width="640" Height="480">
    <StackPanel>
    <Rectangle Width="100" Height="50" Stroke="Black" StrokeThickness="1">
      <Rectangle.Fill>
        <ImageBrush ImageSource="c:image.jpg" Opacity="1.0" />
      </Rectangle.Fill>
    </Rectangle>
    <Rectangle Width="100" Height="50" Stroke="Black" StrokeThickness="1">
      <Rectangle.Fill>
        <ImageBrush ImageSource="c:image.jpg" Opacity="0.75" />
      </Rectangle.Fill>
    </Rectangle>
    <Rectangle Width="100" Height="50" Stroke="Black" StrokeThickness="1">
      <Rectangle.Fill>
        <ImageBrush ImageSource="c:image.jpg" Opacity="0.5" />
      </Rectangle.Fill>
    </Rectangle>
    <Rectangle Width="100" Height="50" Stroke="Black" StrokeThickness="1">
      <Rectangle.Fill>
        <ImageBrush ImageSource="c:image.jpg" Opacity="0.25" />
      </Rectangle.Fill>
    </Rectangle>
    <Rectangle Width="100" Height="50" Stroke="Black" StrokeThickness="1">
      <Rectangle.Fill>
        <ImageBrush ImageSource="c:image.jpg" Opacity="0" />
      </Rectangle.Fill>
    </Rectangle>
    </StackPanel>


</Window>

   
    
    
     


Paints a rectangle with an image. The ImageBrush's Stretch property is set to None, so the image is not resized.

image_pdfimage_print


   
   

<Window x:Class="Workspace.DockExample"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Workspace" Width="640" Height="480">
      <Rectangle Width="50" Height="50">
        <Rectangle.Fill>
          <ImageBrush Stretch="None" TileMode="Tile"  ImageSource="c:image.jpg"  />
        </Rectangle.Fill>
      </Rectangle>
</Window>

   
    
    
     


The ImageBrush's Viewport and TileMode properties are set so that the image is tiled

image_pdfimage_print


   
   
<Window x:Class="Workspace.DockExample"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Workspace" Width="640" Height="480">
      <Rectangle Width="50" Height="50" Grid.Row="2" Grid.Column="1">
        <Rectangle.Fill>
          <ImageBrush Viewport="0,0,10,10" ViewportUnits="Absolute" TileMode="Tile"   ImageSource="c:image.jpg" />
        </Rectangle.Fill>
      </Rectangle>

</Window>

   
    
    
     


ImageBrush Stretch Style

image_pdfimage_print


   
     

<Window x:Class="WPFBrushes.ImageBrushInXAML"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Title="ImageBrush" Height="425" Width="300">

  <StackPanel Margin="4">

    <StackPanel.Resources>
      <Style TargetType="Button">
        <Setter Property="Foreground" Value="White"/>
        <Setter Property="FontWeight" Value="DemiBold"/>
        <Setter Property="FontSize" Value="18"/>
        <Setter Property="Width" Value="250"/>
        <Setter Property="Height" Value="65"/>
        <Setter Property="Margin" Value="4"/>
      </Style>
    </StackPanel.Resources>

    <Button Content="FILL">
      <Button.Background>
        <ImageBrush ImageSource="c:image.jpg" Stretch="Fill"/>
      </Button.Background>
    </Button>

    <Button Content="FILL + OPACITY">
      <Button.Background>
        <ImageBrush ImageSource="c:image.jpg" Stretch="Fill" Opacity=".25"/>
      </Button.Background>
    </Button>

    <Button Content="UNIFORM">
      <Button.Background>
        <ImageBrush ImageSource="c:image.jpg" Stretch="Uniform"/>
      </Button.Background>
    </Button>

    <Button Content="NONE">
      <Button.Background>
        <ImageBrush ImageSource="c:image.jpg" Stretch="None"/>
      </Button.Background>
    </Button>

    <Button Content="UNIFORM TO FILL">
      <Button.Background>
        <ImageBrush ImageSource="c:image.jpg" Stretch="UniformToFill"/>
      </Button.Background>
    </Button>

  </StackPanel>

</Window>