在Silverlight中绘制贝塞尔曲线

在Silverlight中绘制贝塞尔曲线

 

 

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

 

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

 

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

 

效果说明

在Silverlight中绘制贝塞尔曲线

 

在Silverlight中绘制贝塞尔曲线

在Silverlight中绘制贝塞尔曲线

在Silverlight中绘制贝塞尔曲线

实现说明

该控件共封装了如下对象

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

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

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

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

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

 

在Silverlight中绘制贝塞尔曲线

pta的两点坐标(Thumb0,Thumb1)

ptb的两点坐标(Thumb2Thumb3)

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

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

 

在Silverlight中绘制贝塞尔曲线在Silverlight中绘制贝塞尔曲线

 

你可能感兴趣的:(silverlight)