SolidcolorBrushSyntax纯色画刷语法
1、颜色表示方法:
- <SolidColorBrush Color="Blue" />
- <SolidColorBrush Color="#00F" />
- <SolidColorBrush Color="#0000FF" />
- <SolidColorBrush Color="#FF0000FF" />
- <Color ScA="1.0" ScR="0.0" ScG="0.0" ScB="1.0" />
- <Color A="255" R="0" G="0" B="255" />
AnimatingSolidColorBrushExample纯色画刷动画效果
PredefinedBrushes预定义画刷
BrushOpacityExample画刷不透明度
DrawingBrush的几何绘图数据为:
<DrawingGroup x:Key="MyDrawing" presentationOptions:Freeze="True">
<DrawingGroup.Children>
<GeometryDrawing>
<GeometryDrawing.Geometry>
<GeometryGroup>
<LineGeometry StartPoint="0,0" EndPoint="1,1" />
<LineGeometry StartPoint="0,1" EndPoint="1,0" />
</GeometryGroup>
</GeometryDrawing.Geometry>
<GeometryDrawing.Pen>
<Pen Thickness="0.2" Brush="#3366FF" />
</GeometryDrawing.Pen>
</GeometryDrawing>
<GeometryDrawing Brush="Red"
Geometry="M 0.4,0.4 L 0.5,0.2 0.6,0.4 0.5,0.5" />
<GeometryDrawing Brush="Blue"
Geometry="M 0.4,0.6 L 0.5,0.8 0.6,0.6 0.5,0.5" />
<GeometryDrawing Brush="Black"
Geometry="M 0.4,0.4 L 0.2,0.5 0.4,0.6 0.5,0.5" />
<GeometryDrawing Brush="Green"
Geometry="M 0.6,0.4 L 0.8,0.5 0.6,0.6 0.5,0.5" />
</DrawingGroup.Children>
</DrawingGroup>
BrushTransformExample画刷变换
关注点:Brush变化概述
Brush 类提供了两个变换属性: Transform 和 RelativeTransform。 使用这些属性可以旋转、缩放、扭曲和平移画笔的内容。
- 向画笔的 RelativeTransform 属性应用变换时,变换会在其输出映射到绘制区域之前应用于画笔。
- 由于是在画笔的输出映射到 1 x 1 矩形的情况下应用 RelativeTransform,因此变换中心和偏移量值是相对的。 例如,如果使用一个 RotateTransform 将画笔输出绕其中心旋转 45 度,您将为 RotateTransform 指定 CenterX 0.5, CenterY 0.5。
<!-- Applies a RotateTransform to the brush's RelativeTransform property. The
RotateTransform's center is set to 0.5,0.5, which is the
center of the brush's content (in this case, a Drawing). -->
<Rectangle Width="175" Height="90" Stroke="Black" Grid.Row="14" Grid.Column="4">
<Rectangle.Fill>
<DrawingBrush Drawing="{StaticResource MyDrawing}" Viewport="0,0,0.5,0.5" TileMode="Tile">
<DrawingBrush.RelativeTransform>
<RotateTransform CenterX="0.5" CenterY="0.5" Angle="45" />
</DrawingBrush.RelativeTransform>
</DrawingBrush>
</Rectangle.Fill>
</Rectangle>
扩展:
-
向画笔的 RelativeTransform 属性应用变换时,变换会在其输出映射到绘制区域之前应用于画笔。 下面的列表描述了处理和变换画笔内容的顺序。
- 处理画笔的内容。 对于 GradientBrush,这意味着确定渐变区域。 对于 TileBrush, Viewbox 映射到 Viewport。 这将成为画笔的输出。
- 将画笔输出投影到 1 x 1 变换矩形上。
- 应用画笔的 RelativeTransform(如果有)。
- 将变换后的输出投影到要绘制的区域。
- 应用画笔的 Transform(如果有)。
-
与 TileBrush 一起使用 RelativeTransform:
- 由于图块画笔比其他画笔更复杂,因此向这种画笔应用 RelativeTransform 可能会产生意外结果。 以下面的图像为例。
- 下面的示例使用一个 ImageBrush 来绘制一个包含前面的图像的矩形区域。 它将 RotateTransform 应用于 ImageBrush 对象的 RelativeTransform 属性,并将其 Stretch 属性设置为 UniformToFill,以便在拉伸图像以完全填充矩形时保留图像的纵横比。
- 请注意,即使画笔的 Stretch 设置为 UniformToFill,图像也会扭曲。 这是因为在将画笔的 Viewbox 映射到其 Viewport 之后应用了相对变换。 下面的列表描述该过程的各个步骤:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。