书名:WPF专业编程指南
作者:李应保
出版社:电子工业出版社
出版时间:2010-01
ISBN:9787121100116
第14章 图形转换
一、图形转换概述
由于在WPF中控件和图形使用统一的编程模型,因此,转换技术不仅适用于图形,也适用于控件。WPF的转换可以对单个图形或控件进行,而不影响周围其他的控件或图形。
与WPF中很多操作是在相关属性的基础上进行的一样,转换技术也是以相关属性为基础的。
转换技术实际上是对某个界面元素中类型为Transform的相关属性进行操作,例如在UIElement类中,这个属性是RenderTransform。
对于FrameworkElement来说,可以进行两种转换,
一种是对单个元素进行的,所操作的相关属性是RenderTransform,它是从UIElement继承来的相关属性;
另外一种是对排版进行的转换,如果该元素含有其他界面元素,那么这种转换对其中的所有元素都有影响,这个相关属性是LayoutTransform。

表14-1列出了可转换的基类及其相关属性,由表14-1,我们可以发现:
● 转换是在WPF类结构中靠近树根处进行的,所以,虽然表14-1只列出了七大基类,但这七大类涵盖了WPF所有的控件、画刷、图形元素和文字元素。
● 用于转换的相关属性具有类型Transform,而Transform是所有转换类的基类,这表明所有的具体转换操作都可以施加到这些相关属性上(如图14-1所示)。
由于WPF中的图形是矢量图形,所以,在进行转换的过程中不会丢失细节。-
图14-1示出了用于图形转换的类。实际上使用矩阵转换(MatrixTransform)可以达到缩放(ScaleTransform)、位移(TranslateTransform)、扭曲(SkewTransform)、旋转(RotateTransform)和组合转换(TranformGroup)所有的效果。
就像第13章中,使用几何路径(path)可以产生矩形和椭圆一样,但WPF仍然提供Rectangle和Ellipse类,其基本考虑是使用方便。对于大多数程序员来说,可能不会用到MatrixTransform。
图14-1 用于图形转换的基本类
