WPF 读书笔记之三 基本画刷 (Appliations=Code+Markup)
2010-08-09 16:25
381 查看
上两篇对WPF有了一个简单的入门,开始来学习基本的知识,这篇我和大家一起学习WPF基本画刷:Brush
WPF一共提供了6种画刷:
1. SolidColorBrush
纯色画刷,只是单一的一种颜色, 值是Color,可以调用Colors进行枚举或者使用Color.FromArgb()或者Color.FromRgb()。 A,R,G,B是颜色的4个属性。A代表透明度,RGB 代表三原色:红,绿,蓝。 Brushes有141个静态只读的属性,名称和Colors一样,但是它返回的都是SolidColorBrush类型对象。
<Button>
<Button.Background>
<SolidColorBrush>Yellow<SolidColorBrush>
</Button.Background>
</Button>
一个背景为黄色的按钮
2. LinearGradientBrush
渐变的画刷,可以指定StartPoint和EndPoint,指定起点和终点并指定这两个点的颜色。同时也可以包含很多GradientStop。 GradientStop可以指定之间某一个位置的颜色,通过Offset指定位置,offset的值为0~1之间的数字。看一个例子
<Button>
<Button.Background>
<LinearGradientBrush StartPoint=”0,0” EndPoint=”1,0”> //垂直渐变
<GradientStop Color=”Red” Offset=”0”/>
<GradientStop Color=”Orange” Offset=”.17”/>
<GradientStop Color=”Yellow” Offset=”.34”/>
<GradientStop Color=”Green” Offset=”.5”/>
<GradientStop Color=”Blue” Offset=”.67”/>
<GradientStop Color=”Indigo” Offset=”.84”/>
<GradientStop Color=”Violet” Offset=”1”/>
</LinearGradientBrush>
</Button.Background>
</Button>
一个垂直渐变的按钮,发现颜色有特别的么? 是不是有点像彩虹呢?
3. RadialGradientBrush
这个是生成一个放射状的画刷, 它和LinearGradientBrush不同的地方就是它不用指定StartPoint和EndPoint. 当然它还有3个比较重要的属性. Center指定中心点的位置,如果指定中心,则设置Center=”0.5,0.5”, RadiusX,RadiusY指定椭圆的垂直和水平的半径。 GradientOrigin指定渐变的原点,和Center一样。但是Center是中心点,Gradient则是执行变化开始的点。
<Button>
<Button.Background>
<RadialGradientBrush>//垂直渐变
<GradientStop Color=”Red” Offset=”0”/>
<GradientStop Color=”Orange” Offset=”.17”/>
<GradientStop Color=”Yellow” Offset=”.34”/>
<GradientStop Color=”Green” Offset=”.5”/>
<GradientStop Color=”Blue” Offset=”.67”/>
<GradientStop Color=”Indigo” Offset=”.84”/>
<GradientStop Color=”Violet” Offset=”1”/>
</RadialGradientBrush>
</Button.Background>
</Button>
//剩下的3个在这本书里面没有介绍到,我从C#高级编程找了资料,使用起来很简单
4. DrawingBrush
这个画刷可以绘制自己的图形,用笔刷绘制的图形在GeometryDrawing元素中定义。GeometryDrawing的属性Geometry的GeometryGroup包含了用来绘制的Geometry元素。在详细讲解Path的章节将详细介绍到Geometry。 例如:EllipseGeometry, LineGeometry, RectangleGeometry, CombineGeometry, PathGeometry, StreamGeometry.
Xaml代码结构如下:
<Button>
<Button.Background>
<DrawingBrush>
<DrawingBrush.Drawing>
<GeometryDrawing Brush=”LightBlue”>
<GeometryDrawing.Geometry>
<GeometryGroup>
<EllipseGeometry RadiusX=”30” RadiusY=”30” Center=”20,20”/>
<EllipseGeometry RadiusX=”4” RadiusY=”4” Center=”10,10”/>
</GeometryGroup>
<GeometryDrawing.Pen>
<Pen>
<Pen.Brush>Red</Pen.Brush>
</Pen>
</GeometryDrawing.Pen>
</GeometryDrawing.Geometry>
</GeometryDrawing>
</DrawingBrush.Drawing>
</DrawingBrush>
</Button.Background>
</Button>
5. ImageBrush
这个就是用一个图片作为画刷
<ImageBrush ImageSource=”路径”/>
6. VisualBrush
这个画刷就是可以在画刷中包含其他的WPF元素,比如椭圆,按钮等。
<VisualBrush>
<VisualBrush.Visual>
<StackPanel Background=”White”>
<Ellipse Width=”65” Height=”20” Fill=”Aqua” Margin=”5”></Ellipse>
<Button Content=”yes”></Button>
<Rectangle Width=”25” Height=”25” Fill=”LightCoral” Margin=”2”></Rectangle>
</StackPanel>
</VisualBrush.Visual>
</VisualBrush>
好了本章的概念学习结束。
WPF一共提供了6种画刷:
1. SolidColorBrush
纯色画刷,只是单一的一种颜色, 值是Color,可以调用Colors进行枚举或者使用Color.FromArgb()或者Color.FromRgb()。 A,R,G,B是颜色的4个属性。A代表透明度,RGB 代表三原色:红,绿,蓝。 Brushes有141个静态只读的属性,名称和Colors一样,但是它返回的都是SolidColorBrush类型对象。
<Button>
<Button.Background>
<SolidColorBrush>Yellow<SolidColorBrush>
</Button.Background>
</Button>
一个背景为黄色的按钮
2. LinearGradientBrush
渐变的画刷,可以指定StartPoint和EndPoint,指定起点和终点并指定这两个点的颜色。同时也可以包含很多GradientStop。 GradientStop可以指定之间某一个位置的颜色,通过Offset指定位置,offset的值为0~1之间的数字。看一个例子
<Button>
<Button.Background>
<LinearGradientBrush StartPoint=”0,0” EndPoint=”1,0”> //垂直渐变
<GradientStop Color=”Red” Offset=”0”/>
<GradientStop Color=”Orange” Offset=”.17”/>
<GradientStop Color=”Yellow” Offset=”.34”/>
<GradientStop Color=”Green” Offset=”.5”/>
<GradientStop Color=”Blue” Offset=”.67”/>
<GradientStop Color=”Indigo” Offset=”.84”/>
<GradientStop Color=”Violet” Offset=”1”/>
</LinearGradientBrush>
</Button.Background>
</Button>
一个垂直渐变的按钮,发现颜色有特别的么? 是不是有点像彩虹呢?
3. RadialGradientBrush
这个是生成一个放射状的画刷, 它和LinearGradientBrush不同的地方就是它不用指定StartPoint和EndPoint. 当然它还有3个比较重要的属性. Center指定中心点的位置,如果指定中心,则设置Center=”0.5,0.5”, RadiusX,RadiusY指定椭圆的垂直和水平的半径。 GradientOrigin指定渐变的原点,和Center一样。但是Center是中心点,Gradient则是执行变化开始的点。
<Button>
<Button.Background>
<RadialGradientBrush>//垂直渐变
<GradientStop Color=”Red” Offset=”0”/>
<GradientStop Color=”Orange” Offset=”.17”/>
<GradientStop Color=”Yellow” Offset=”.34”/>
<GradientStop Color=”Green” Offset=”.5”/>
<GradientStop Color=”Blue” Offset=”.67”/>
<GradientStop Color=”Indigo” Offset=”.84”/>
<GradientStop Color=”Violet” Offset=”1”/>
</RadialGradientBrush>
</Button.Background>
</Button>
//剩下的3个在这本书里面没有介绍到,我从C#高级编程找了资料,使用起来很简单
4. DrawingBrush
这个画刷可以绘制自己的图形,用笔刷绘制的图形在GeometryDrawing元素中定义。GeometryDrawing的属性Geometry的GeometryGroup包含了用来绘制的Geometry元素。在详细讲解Path的章节将详细介绍到Geometry。 例如:EllipseGeometry, LineGeometry, RectangleGeometry, CombineGeometry, PathGeometry, StreamGeometry.
Xaml代码结构如下:
<Button>
<Button.Background>
<DrawingBrush>
<DrawingBrush.Drawing>
<GeometryDrawing Brush=”LightBlue”>
<GeometryDrawing.Geometry>
<GeometryGroup>
<EllipseGeometry RadiusX=”30” RadiusY=”30” Center=”20,20”/>
<EllipseGeometry RadiusX=”4” RadiusY=”4” Center=”10,10”/>
</GeometryGroup>
<GeometryDrawing.Pen>
<Pen>
<Pen.Brush>Red</Pen.Brush>
</Pen>
</GeometryDrawing.Pen>
</GeometryDrawing.Geometry>
</GeometryDrawing>
</DrawingBrush.Drawing>
</DrawingBrush>
</Button.Background>
</Button>
5. ImageBrush
这个就是用一个图片作为画刷
<ImageBrush ImageSource=”路径”/>
6. VisualBrush
这个画刷就是可以在画刷中包含其他的WPF元素,比如椭圆,按钮等。
<VisualBrush>
<VisualBrush.Visual>
<StackPanel Background=”White”>
<Ellipse Width=”65” Height=”20” Fill=”Aqua” Margin=”5”></Ellipse>
<Button Content=”yes”></Button>
<Rectangle Width=”25” Height=”25” Fill=”LightCoral” Margin=”2”></Rectangle>
</StackPanel>
</VisualBrush.Visual>
</VisualBrush>
好了本章的概念学习结束。
相关文章推荐
- WPF 读书笔记之二 Application&Windows (Applications=Code+Markup)
- WPF 读书笔记之四 Content (Applications=Code+Markup)
- WPF 读书笔记之一 开篇 (Applications=Code+Markup)
- WPF 读书笔记之五 按钮和其他控件(Applications=Code+Markup)
- WPF程序设计指南(Applications = Code + Markup)实例源码下载
- WPF程序设计指南(Applications = Code + Markup)实例源码下载
- Application=Code+Markup 读书笔记 5-7章
- Application=Code+Markup 读书笔记 1-4章
- WPF系列 Application=Code + MarkUp (2) Basic Brushes
- code::blocks的基本配置
- 《javascript高级编程》读书笔记(两)javascript基本概念
- wpf 基本的xaml 事件触发器注意事项
- 【读书笔记】extern,const的基本用法
- 《CODE》 读书笔记16
- 《UNIX网络编程》读书笔记——第四章(基本TCP套接字编程)
- 《T-SQL查询》读书笔记Part 3.索引的基本知识
- Javascript模式(第二章基本技巧)------读书笔记
- WPF - 如何用code来触发Button-Click事件
- T-SQL 基本语句 (读书笔记)
- How To Merge Two FlowDocument Objects Using C# Code[WPF]