在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的位置动态生成,以实现箭头的方向自动变化)