您的位置:首页 > 其它

WPF形状、画刷和变换

2014-01-30 22:29 239 查看
  在许多用户界面技术中,普通控件和自定义绘图之间具有清晰的区别。通常来说,绘图特性只用于特定的应用程序。例如,游戏、数据可视化和物理仿真等。WPF具有一个非常不同的原则。它以相同的方式处理预先构建的控件和自定义绘制的图形。不仅可以使用WPF的绘图支持为用户界面创建付图形的可视化元素,还可以通过他最大限度的利用动画和控件模板等特性。本次分析WPF的2D绘图特性,首先是用于形状回执的基本元素。接着将分析如何使用画刷绘制替他们的边框和内部。然后学习如何使用变换对形状和元素进行旋转、扭曲以及其他操作。最后学习使形状和其他元素半透明。

12.1 理解形状

  在WPF用户界面中,绘制2D图形内容的最简单方法是使用形状(shape):专门用于表示简单的直线、椭圆、矩形以及多边形的类。从技术角度来看,形状就是所谓的绘图图元(primitive)。WPF中形状的最重要的细节是,它们都继承自FrameworkElement类。因此,形状是元素。这样的结果是:

形状绘制自身。不需要管理无效的情况和绘图过程。例如,当移动内容、改变窗口尺寸或改变形状属性时,不需要手动重新绘制形状。

使用与其他元素相同的方式组织形状。也就是可以在任何布局容器中放置一个形状。

形状支持与其他元素相同的事件。这意味着为了处理焦点、按下键盘、移动鼠标以及单击鼠标等,不需要进行任何额外的工作。可以使用用于其他元素的相同的事件集,并且同样支持工具提示、上下文菜单和拖放操作。

12.1.1 Shape类

  呢个形状都继承自抽象的System.Windows.Shapes.Shape类。如下图显示了形状类的继承层次。

<Rectangle Canvas.Left="10" Canvas.Top="10"  Width="271" Height="100" Stroke="Black">
<Rectangle.Fill>
<ImageBrush ImageSource="logo.gif" Stretch="None"></ImageBrush>
</Rectangle.Fill>
</Rectangle>
<Rectangle Canvas.Left="10" Canvas.Top="120" Width="200" Height="200" Stroke="Black">
<Rectangle.Fill>
<ImageBrush ImageSource="logo.gif" Stretch="Uniform"
Viewbox="0.4 0.5 0.2 0.2"></ImageBrush>
</Rectangle.Fill>
</Rectangle>


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: