本文共 1056 字,大约阅读时间需要 3 分钟。
在UWP UI系统中,Shape是绘制2D图形的最简单方式,从图标到图表都可以使用Shape的派生类。Shape的架构从Silverlight到UWP基本没有改变,成为UWP中的重要组成部分。
Ellipse是Shape中最简单的派生类,仅比Shape多了三个属性:Fill、Stroke和StrokeThickness,分别用于设置填充颜色、边框颜色和边框宽度。Ellipse的形状不会随着StrokeThickness的变化而改变。Stretch属性用于控制形状的拉伸方式,支持四种模式:None、Fill、Uniform和UniformToFill。StrokeDashArray可以通过设置虚线段长度来创建虚线边框,值的单位基于边框宽度。StrokeDashCap则决定了虚线的线帽类型,支持Flat、Square、Round和Triangle四种样式。
Rectangle比Ellipse多了RadiusX和RadiusY两个属性,可用于创建具有圆角的矩形。Rectangle的边角可以通过这些半径值进行调整。Shape中的StrokeLineJoin和StrokeMiterLimit属性主要影响多边形的拐角处的形状,但对Ellipse和Line没有影响。
Line表示从(X1,Y1)到(X2,Y2)的一条直线,支持绝对定位和相对定位。Line的StrokeStartLineCap和StrokeEndLineCap属性可以分别设置线段的起始和结束线帽样式。
Polygon和Polyline的主要区别在于顶点处理,Polygon会自动连接最后一个点和第一个点形成封闭图形。两者均通过Points属性设置顶点位置,FillRule属性可用于指定填充规则,默认为EvenOdd。
Path是功能最强大的形状,由Ellipse、Line、Rectangle、Polygon等Geometry组成,支持复杂的矢量图形。Path的Data属性定义绘制内容,可以通过PathGeometry和PathFigure来创建多个图形段。Path还支持图形微语言(Geometry Mini-Language),适合由工具生成的复杂图形。Blend工具可用于将多个Shape合并为Path,提升性能和管理效率。
Shape的各项属性在不同形状中有所差异,例如Ellipse和Rectangle支持圆角属性,而Line和Polygon则不适用。ViewBox用于内容的缩放和拉伸,支持Stretch模式以适应容器空间。
转载地址:http://hpyuz.baihongyu.com/