WPF动态视频绘制

    技术2026-02-20  10

    WCF动态视频绘制

    效果:

    抽取各动态绘制类的firstPoint字段,OnStylusDown,OnStylusMove Stroke大不同则不进行抽取

    抽取得到一个类,命名为DynamicAgent继承于DynamicRenderer 椭圆,矩形两个动态绘制类的firstPoint字段OnStylusDown与OnStylusMove可直接省略,视频动态绘制类中的OnStylusMove可直接省略。

    源码

    问题讨论: 1.

    动态绘制墨迹出错,此为曲线,而不是矩形视频,推测是因为动态方法重写出现错误OnDraw。 后发现代码无偏差,在Draw和InkCanvas中OnStrokeCollected进行断点调试,发现源程序当点击时会立刻定位到Draw,而组合程序先会定位到OnStrokeCollected中。得出InkCanvars出现错误。原因是没有把自定义的动态绘制对象分配给InkCanvas 2. 当画完视频后画椭圆,再次画视频时,动态墨迹是椭圆而不是矩形视频。 原因:是在MainWindow的button点击事件内没有初始化DefaultDrawingAttributes并从InkCavars获得初值。最后可得知,出现这种情况是DynamicRenderer作为默认初值使用的结果,当点击其他将会把DynamicRenderer重新赋值,导致不能再画出矩形视频。 3. 参考微软官方的操作手册。

    https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.controls?view=netcore-3.1

    Processed: 0.016, SQL: 9