在Silverlight中绘制贝塞尔曲线

在Silverlight中绘制贝塞尔曲线

我以前的流程设计器使用的都是曲线,而且不能调扭曲,朋友们意见很大,后来我升级了设计器,这里贴出我实现扭曲的思路

代码下载: https://files.cnblogs.com/wxwinter/SilverlightBezierSegment.rar

在线演示 : http://silverlight.services.live.com/invoke/71234/SilverlightBezierSegment/iframe.html

效果说明

实现说明

该控件共封装了如下对象

2个Thumb (Thumb0,Thumb3),用于做用做扭曲控柄

2个Thumb (Thumb1,Thumb2) ,用于做用做起点终点控柄

2个Data为 LineSegment 的两点线段Path(pta,pth),用做扭曲控柄

1个Data为 BezierSegment 的四点贝塞尔曲线Path(pt),

1个Data为 LineSegment 的三点闭合线段,用做箭头Path(ptc)

pta的两点坐标(Thumb0,Thumb1)

ptb的两点坐标(Thumb2Thumb3)

pt的四点坐标(Thumb0,Thumb1,Thumb2,Thumb3)

ptc的三点坐标(Thumb3,其余两点根据Thumb2与Thumb3的位置动态生成,以实现箭头的方向自动变化)

原文地址:https://www.cnblogs.com/foundation/p/1364417.html