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 截图效果对比图

Win10系列:C#应用控件进阶9的更多相关文章

  1. Win10系列:JavaScript 控件的使用

    向页面中添加的控件可分为两种类型:标准的HTML控件和WinJS库控件.其中标准的HTML控件是指HTML标准中定义的基本控件,如按钮和复选框:WinJS库控件是为开发基于JavaScript 的Wi ...

  2. WPF 模仿 UltraEdit 文件查看器系列一 用户控件

    WPF 模仿 UltraEdit 文件查看器系列一 用户控件 运行环境:Win10 x64, NetFrameWork 4.8, 作者:乌龙哈里,日期:2019-05-10 章节: 起步 添加用户控件 ...

  3. C#控件系列--文本类控件

    C#控件系列--文本类控件         文本类控件主要包含Label.LinkLabel.Button.TextBox以及RichTextBox. Label 功能         Label用来 ...

  4. WPF从我炫系列4---装饰控件的用法

    这一节的讲解中,我将为大家介绍WPF装饰控件的用法,主要为大家讲解一下几个控件的用法. ScrollViewer滚动条控件 Border边框控件 ViewBox自由缩放控件 1. ScrollView ...

  5. WPF编游戏系列 之四 用户控件

    原文:WPF编游戏系列 之四 用户控件        在上一篇<WPF编游戏系列 之三 物品清单>中,对物品清单进行了演示,其中反复用到了同一组控件(如下图),而且 颜昌钢也指出在3.2. ...

  6. 【转】PyQt5系列教程(七)控件

    PyQt5系列教程(七)控件   软硬件环境 Windows 10 Python 3.4.2 PyQt 5.5.1 PyCharm 5.0.4 前言 控件是PyQt应用程序的基石.PyQt5自带很多不 ...

  7. Win10系列:C#应用控件进阶10

    EllipseGeometry EllipseGeometry控件可以用于绘制椭圆,通过定义EllipseGeometry控件的Center属性确定椭圆的圆心坐标,使用此控件的RadiusX 和Rad ...

  8. Win10系列:C#应用控件进阶8

    LineGeometry LineGeometry控件通过指定直线的起点和终点来定义线.LineGeometry对象无法进行自我绘制,因此同样需要使用 Path元素来辅助呈现.LineGeometry ...

  9. Win10系列:C#应用控件进阶7

    PathGeometry 前面介绍了Path的使用方法,接下来介绍PathGeometry类.PathGeometry提供了描绘由弧线.曲线和直线组成的多个复杂图形的方法.PathGeometry的核 ...

随机推荐

  1. Tomcat证书安装(pfx和jks)

    tomcat安装证书需要修改tomcat/conf下的server.xml,需要修改Connector port=”8443”开头的标签,一般情况下是注释掉的. 1.pfx 增加keystoreFil ...

  2. hiho一下 第206周

    题目1 : Guess Number with Lower or Higher Hints 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 There is a game ...

  3. my work

    Dad, what's your first job? How did you achieved?

  4. 评价指标整理:Precision, Recall, F-score, TPR, FPR, TNR, FNR, AUC, Accuracy

    针对二分类的结果,对模型进行评估,通常有以下几种方法: Precision.Recall.F-score(F1-measure)TPR.FPR.TNR.FNR.AUCAccuracy   真实结果 1 ...

  5. JS中常见设计模式总结

    github: https://github.com/14glwu/FEInterviewBox/tree/master/JS%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F ...

  6. Python下关于RSA解密模块的使用

    最近筹备一场CTF比赛发现了一道关于RSA解密的题如下: #小明得到了一个 RSA 加密信息,你能帮他解开吗? n = 4106906565495961459775020773869808579876 ...

  7. export ,export default 和 import 区别 以及用法

    首先要知道export,import ,export default是什么 ES6模块主要有两个功能:export和importexport用于对外输出本模块(一个文件可以理解为一个模块)变量的接口i ...

  8. 【FJOI 20170305】省选模拟赛

    题面被改成了个猪... T1猪猪划船(boat) [题目描述] 6只可爱的猪猪们一起旅游,其中有3只大猪A,B,C,他们的孩子为3只小猪a,b,c.由于猪猪们十分凶残,如果小猪在没有父母监护的情况下, ...

  9. PTA编程总结2—币值转换

    7-1 币值转换 (20 分) 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成"贰万叁仟壹百零捌"元.为了简 ...

  10. 性能测试监控工具nmon安装及使用方法

    1.概述 监控,在检查系统问题或优化系统性能工作上是一个不可缺少的部分.通过操作系统监控工具监视操作系统资源的使用情况,间接地反映了各服务器程序的运行情况.根据运行结果分析可以帮助我们快速定位系统问题 ...