zoukankan      html  css  js  c++  java
  • Win10系列:C#应用控件进阶9

    RectangleGeometry

    在使用RectangleGeometry控件绘制矩形时,矩形的位置和尺寸由Rect属性定义,该属性指定矩形的相对位置、高度和宽度。Rect有四个参数,前两个参数表示矩形左上角的位置,后两个参数分别表示矩形的宽和高。下面将通过示例演示如何使用RectangleGeometry控件绘制矩形。

    在一个打开的Windows应用商店项目中新建一个空白页,并命名为RectangleGeometryPage,双击打开此页面的RectangleGeometryPage.xaml文件,在Grid元素中添加如下代码。

    <Path Fill="red" Stroke="blue" StrokeThickness="3">

    <Path.Data>

    <RectangleGeometry Rect="300,300,100,100" />

    </Path.Data>

    </Path>

    上面的代码首先定义一个Path控件并设置Fill属性为红色(red)、Stroke属性为蓝色(blue)和StrokeThickness属性为3像素。接着在Path.Data的内部使用RectangleGeometry的Rect属性定义了一个起始坐标为 (300,300)、高度和宽度均为100的矩形。绘制矩形的运行效果如图8-11所示。

    接下来在后台使用RectangleGeometry类型的对象绘制一个与前台一样的矩形,代码如下所示:

    public RectangleGeometryPage()

    {

    this.InitializeComponent();

    //实例化Path对象

    Windows.UI.Xaml.Shapes.Path mypath = new Windows.UI.Xaml.Shapes.Path();

    mypath.StrokeThickness = 3;

    mypath.Stroke = new SolidColorBrush(Colors.Blue);

    mypath.Fill = new SolidColorBrush(Colors.Red);

    //实例化rectang对象

    RectangleGeometry rectang = new RectangleGeometry();

    //设置矩形的位置与大小

    rectang.Rect = new Rect(300, 300, 100, 100);

    mypath.Data = rectang;

    //mypath添加到MyShow控件中

    MyShow.Children.Add(mypath);

    在上面的代码中,首先实例化Path类型的对象mypath,并设定StrokeThickness 为3像素、Stroke属性为蓝色(Blue)和Fill为红色(Red)。然后定义RectangleGeometry类型的对象rectang,接着用Rect类型的对象给rectang的Rect属性赋值。将rectang对象赋值给mypath对象的Data属性,最后把mypath对象添加到名为MyShow的控件中。

    运行此页面,利用RectangleGeometry绘制矩形的效果如图8-10所示。

    图8-10 RectangleGeometry 画的矩形

    RectangleGeometry对象除了能绘制几何图形,还可以定义图像的剪辑区域,在Geometry的子类中目前只有RectangleGeometry支持定义剪辑区域。下面通过一个简单的示例来展示此功能,代码如下所示:

    <!--原图-->

    <Image Source="Images/Image.png" Width="200"></Image>

    <!--截图代码-->

    <Image Source="Images/Image.png" Width="200" >

    <Image.Clip>

    <RectangleGeometry Rect="20,20,100,100">

    </RectangleGeometry>

    </Image.Clip>

    </Image>

    上面的代码添加了两个Image控件,一个用于显示原图,另一个用于显示剪辑后的图片。接着设置Image控件的Source属性为图片在项目中的路径,这需要提前将图片导入到项目中以便获得图片的路径。最后在第二个Image控件的Clip属性中添加一个RectangleGeometry元素,并设置它的Rect属性,这样即可实现图片的剪辑。

    运行上面的代码,截图效果对比如图8-11所示。

    图8-11 截图效果对比图

  • 相关阅读:
    架构设计:系统存储(1)——块存储方案(1)
    《Linux设备节点创建》用户空间ueventd创建设备节点规则
    架构设计:系统间通信(45)——阶段性问题记录
    队列
    链栈
    顺序栈
    入栈问题
    队列
    数学表达式配对栈
    链表设置
  • 原文地址:https://www.cnblogs.com/finehappy/p/6648595.html
Copyright © 2011-2022 走看看