Silverlight 形状和绘图 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

在 Silverlight 中,Shape 是一种允许您在屏幕中绘制形状的 UIElement 类型,

Silverlight 形状和绘图

。由于它们是用户界面 (UI) 元素,因此 Shape 对象可以在各种容器对象 (如 Grid 和 Canvas)中使用。

本主题包括下列各节。

Shape 对象

使用 Path 和 Geometry

绘制形状

变换形状

相关主题

Shape 对象

Silverlight 提供很多随时可用的 Shape 对象,包括 Ellipse、Line、Path 、Polygon、Polyline 和 Rectangle。Shape 对象共享以下通用属性:

Stroke:说明如何绘制形状的轮廓。

StrokeThickness:说明形状轮廓的粗细。

Fill:说明如何绘制形状的内部。

用于指定坐标和顶点的数据属性,以与设备无关的像素来度量。

Shape 对象可以在 Canvas 对象中使用。Canvas 通过使用 Canvas.Left 和 Canvas.Top 附加属性支持其子对象的绝对定位。

使用 Line 类可以在两个点之间绘制一条直线。下面的示例演示了几种指定 线条坐标和描边属性的方法。

XAML



 
     StrokeThickness="10"
   Canvas.Left="100">
  
         RadiusX="0.5" RadiusY="0.5">
    
     
     
    

   
  

 

 
     Stroke="Black"
   StrokeThickness="4"/>

虽然 Line 类提供了 Fill 属性,但设置该属性无效,因为 Line 没有区域 。

另一个常用形状是 Ellipse。通过定义形状的 Width 和 Height 属性来创建 Ellipse,如以下示例中所示。若要绘制一个圆,请指定一个其 Width 和 Height 值相等的 Ellipse。

XAML


     Fill="Yellow"
   Height="100"
   Width="200"
   StrokeThickness="2"
   Stroke="Black"/>

使用 Path 和 Geometry

使用 Path 类可以绘制曲线和复杂形状。使用 Geometry 对象来绘制这些曲 线和形状。若要使用 Path,请创建一个 Geometry 并使用它来设置 Path 对象 的 Data 属性。可以从各种 Geometry 对象中进行选择。LineGeometry、 RectangleGeometry 和 EllipseGeometry 类说明了相对简单的形状。若要创建 更复杂的形状或创建曲线,请使用 PathGeometry。有关创建 PathGeometry 对 象的信息,请参见几何图形。

XAML 缩写语法

在 XAML 中,可以使用一种特殊的缩写语法来描述 Path。在下面的示例中, 使用缩写语法来绘制一个复杂形状。

XAML



     Data="M 100,200 C 100,25 400,350 400,175 H  280" />

下图显示呈现的 Path,

电脑资料

Silverlight 形状和绘图》(https://www.unjs.com)。

路径图示

Data 属性字符串使用 mini-language。它以 move 命令开头(由 M 指示) ,这为 Canvas 的坐标系统中的路径建立一个起点。Path 数据参数区分大小写 。大写的 M 指示新的当前点的绝对位置。小写 m 则指示相对坐标。第一个线段 是一个三次方贝塞尔曲线,该曲线从 (100,200) 开始,在 (400,175) 结束,使 用 (100,25) 和 (400,350) 这两个控制点绘制。此线段由 Data 属性字符串中 的 C 命令指示。同样,大写的 C 指示绝对路径;小写的 c 则指示相对路径。

第二个线段以绝对水平 line 命令 H 开头,它指定绘制一条从前面的子路径 的终结点 (400,175) 到新终结点 (280,175) 的直线。由于它是一个水平 line 命令,因此指定的值是 x 坐标。

有关完整的路径语法,请参见 Data 参考内容和路径标记语法。

绘制形状

使用 Brush 对象绘制形状的 Stroke 和 Fill。在下面的示例中,指定了 Ellipse 的描边和填充。请注意,画笔属性的有效输入可以是关键字或十六进制 颜色值。

XAML


     Canvas.Top="50"
   Canvas.Left="50"
   Fill="#FFFFFF00"
   Height="75"
   Width="75"
   StrokeThickness="5"
   Stroke="#FF0000FF"/>

下图显示了呈现的 Ellipse。

Rendered ellipse

您也可以使用属性元素语法显式创建一个 SolidColorBrush 对象,以使用纯 色绘制形状。

XAML



  实战c++中的string系列string的

  • poj1149 PIGS -电脑资料
  • leetcode笔记:Word Search II -
  • AOJ 0033 Ball -电脑资料
  • hdu1166 敌兵布阵(线段树) -电
  • 最新文章