Главная » C#, Windows Runtime, XAML, Разработка для Windows 8 » Кисти Windows Runtime

0

Кисти представляют собой специальные объекты, которые  определяют,  каким образом закрашивать контур и содержимое  других  объектов.  Рассмотрим все кисти по порядку.

SolidColorBrush

Выше  мы  использовали для  закраски   контура  определение   цветов   (Red, Green  и  т.  д.).  На  самом  деле  все   используемые   нами   значения  всегда преобразовывались   в   экземпляр  класса  SolidColorBrush.  Это  специальный вид кисти, который заполняет контур или внутреннюю часть примитива одним цветом. Фактически, два прямоугольника ниже будут закрашены одним цветом.

<Rectangle Width="300" Height="100" Fill="Red"></Rectangle>

<Rectangle Width="300" Height="100">

<Rectangle.Fill>

<SolidColorBrush Color="Red"></SolidColorBrush>

</Rectangle.Fill>

</Rectangle>

Естественно, что подобную кисть можно установить и в коде на C#.

rect.Fill = new SolidColorBrush(Colors.Red);

LinearGradientBrush

Кисть    LinearGradientBrush    позволяет   закрасить    области    или     контур с  использованием линейного градиента. По  умолчанию  линейный  градиент рассчитывается от  верхнего  левого угла  к  нижнему  правому и  позволяет выполнить плавный переход от одного цвета к другому.

<Rectangle Width="300" Height="300">

<Rectangle.Fill>

<LinearGradientBrush>

<GradientStop Color="Red" Offset="0"></GradientStop>

<GradientStop Color="Green" Offset="1"></GradientStop>

</LinearGradientBrush>

</Rectangle.Fill>

</Rectangle>

Направление градиента легко изменить, если задать такие свойства, как StartPoint и EndPoint. При этом нужно помнить, что градиент привязан к нормированному прямоугольнику со сторонами, равными 1.

<Rectangle Name="rect" Width="300" Height="300">

<Rectangle.Fill>

<LinearGradientBrush StartPoint="0,1" EndPoint="1,0">

<GradientStop Color="Red" Offset="0"></GradientStop>

<GradientStop Color="White" Offset="0.5"></GradientStop>

<GradientStop Color="Green" Offset="1"></GradientStop>

</LinearGradientBrush>

</Rectangle.Fill>

</Rectangle>

Приведенный код не только изменил направление градиента, но и  установил большое количество интервалов. Таким образом, до диагонали прямоугольника цвет будет меняться с красного на белый, а после  диагонали — с белого на зеленый.

ImageBrush

Наряду с заливками с помощью цвета можно заполнять определенную область изображением. Для этого предназначена специальная кисть  ImageBrush. Она имеет два основных  свойства — ImageSource и Stretch. Первое из них задает ссылку на изображение, а второе определяет, как изображение будет заполнять область (по умолчанию заполняет всю область).

Ниже приведен пример кода, использующего ImageBrush в качестве заливки.

<TextBlock Text="Hello" FontSize="170" FontWeight="Bold">

<TextBlock.Foreground>

<ImageBrush ImageSource="Tulips.jpg"></ImageBrush>

</TextBlock.Foreground>

</TextBlock>

Сергей Лутай, Сергей Байдачный, Windows 8 для C# разработчиков

По теме:

  • Комментарии