1 2 3 4 5 6 7 8 下一页 几乎在任何图形系统中,转换都是最重要的功能,但它事实上并未参与绘制。转换的作用是利用数学公式(通常以矩阵乘法的形式表示)来修改坐标,从而改变可视对象的外观。 Silverlight 从其出现开始一直采用由 UIElement 定义的 RenderTransform 属性,而此前,该属性一直在 Windows Presentation Foundation (WPF) 中应用。由于该属性是由 UIElement 定义的,因此,您可以将其用于图形对象、文本、控件和媒体。只需将 RenderTransform 设置为类型 TranslateTransform、ScaleTransform、RotateTransform、SkewTransform、 MatrixTransform(为实现对转换矩阵的完全控制)或 TransformGroup 的对象,即可实现多种转换的组合。 利用 RenderTransform 设置的转换类型全部属于二维 (2D) 仿射转换。仿射转换始终规规矩矩,因此有些乏味:直线永远转换为直线,椭圆始终转换为椭圆,正方形始终转换为平行四边形。转换前的两条平行线在转换后永远是平行的。 伪 3D Silverlight 3 引入了名为 Projection 的新 UIElement 属性,从而实现对图形对象、文本、控件和媒体设置非仿射转换。非仿射转换不会保留转换前的平行状态。 Silverlight 3 中允许的非仿射转换类型仍以矩阵乘法表示,并且对其能够执行的操作仍有限制。直线永远转换为直线,正方形始终转换为简单凸四边形。此处的“四边形”是指由四条边组成的图形(又称作“四角形”);此处的“简单”是指除了顶点之外,各边不会相交;此处的“凸”是指各内角小于 180 度。 这种非仿射转换可用于创建锥化转换,在此转换中,正方形和长方形的对边朝一个方向进行一定的锥化。图 1 显示一些文本通过非常简单的 Projection 属性设置实现锥化转换。 (责任编辑:admin) |