WPF画图の利用Path画扇形(仅图形)

WPF画图の利用Path画扇形(仅图形)

2023年7月19日发(作者:)

WPF画图の利⽤Path画扇形(仅图形)⼀、画弧Path继承⾃Sharp,以为基类,它是⼀个具有各种⽅法的控件。我们先看⼀段xaml代码: <> 画出图形的效果如下:如上红⾊部门。Path的属性 Stroke⽆可置疑,就是决定颜⾊,Fill作为内部填充颜⾊。就是决定了这个Path的数据信息PathGeometry是绘图逻辑(要绘制的图形,只能⽤Path表现出来),不是控件;也可以⽤数值的形式标识出来(后⾯说明)PathFigure是⼏何图形的⼦部分,需要指定StartPoint,它有⼀个集合Segments,⾥⾯是各种类型的Segment(部分)ArcSegment是椭圆弧 Point值得是到达点,size是X、Y轴,SweepDirection设置画的⽅向,RotationAngle标识旋转⾓度 IsSmoothJoin表⽰是不是和上⼀个链接部分是⾓,默认False,IsLargeArc标识是优弧还是劣弧,默认劣弧,      IsStroke是否显⽰边⼆、有了上⾯的基础,我们画⼀个扇形 <> 三、下⾯我⽤数值表⽰wpf 前台绘制圆弧很简单,如:注解:M 起始点 (100,0) A 尺⼨(X50,Y100半径) 圆弧旋转⾓度值(0) 优势弧的标记(否,弧⾓度⼩于180) 正负⾓度标记(0 逆时针画圆) 结束点(100,200)下⾯是两个半圆连接到⼀起,其余的类似,只要添加数据就可以 基本是⼀段A表⽰⼀段弧 A 50,50 0 0 0 100,200 ,⼀段L表⽰⼀段线L 300,300,另起线段要声明M四、后台代码实现后台动态绘制圆弧,切⼊点ArcSegment,⼀步步摸索出绘制⽅法。ArcSegment(Point point, Size size, double rotationAngle, bool isLargeArc, SweepDirection sweepDirection, bool isStroked);由于Point是结束点,需要定义起始点StartPoint,尝试还真有这个属性,后台绘制就出来了。代码如下Path path = new Path();PathGeometry pathGeometry = new PathGeometry();ArcSegment arc = new ArcSegment(new Point(100, 200), new Size(50, 100), 0, false, rclockwise, true);PathFigure figure = new PathFigure();oint = new Point(100, 0);(arc);(figure); = pathGeometry; = ;(path); 五、Date指令详解1. 移动指令:Move Command(M):M 起始点 或者:m 起始点⽐如:M 100,240或m 100,240使⽤⼤写M时,表⽰绝对值; 使⽤⼩写m时; 表⽰相对于前⼀点的值,如果前⼀点没有指定,则使⽤(0,0)。2. 绘制指令(Draw Command):我们可以绘制以下形状:(1) 直线:Line(L)格式:L 结束点坐标 或: l 结束点坐标。(2) ⽔平直线: Horizontal line(H)格式:H x值 或 h x值(x为类型的值)(3) 垂直直线: Vertical line(V)格式:V y值 或 v y值(y为类型的值)(4) 三次⽅程式贝塞尔曲线: Cubic Bezier curve(C)格式:C 第⼀控制点 第⼆控制点 结束点 或 c 第⼀控制点 第⼆控制点 结束点(5) ⼆次⽅程式贝塞尔曲线: Quadratic Bezier curve(Q)格式:Q 控制点 结束点 或 q 控制点 结束点(6) 平滑三次⽅程式贝塞尔曲线: Smooth cubic Bezier curve(S)格式:S 控制点 结束点 或 s 控制点 结束点(7) 平滑⼆次⽅程式贝塞尔曲线: smooth quadratic Bezier curve(T)格式:T 控制点 结束点 或 t 控制点 结束点(8) 椭圆圆弧: elliptical Arc(A)

Z指令,它就是⼀个关闭指令(close Command),表⽰封闭指定形状,即将⾸尾点连接起来形成封闭的区域。上⾯每种形状后⽤括号括起的英⽂字母为命令简写的⼤写形式,但你也可以使⽤⼩写。使⽤⼤写与⼩写的区别是:⼤写是绝对值,⼩写是相对值。

发布者:admin,转转请注明出处:http://www.yc00.com/news/1689720664a280901.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信