首页 > Windows开发 > 详细

WPF InkCanva中操作Stroke进行平移的方法

时间:2021-02-24 23:50:33      阅读:64      评论:0      收藏:0      [点我收藏+]
最近做的项目,是对WPF InkCanvas进行操作,现在网上的教程多数都是简单的引用InkCanva,然后对InkCanvasEditingMode进行简单的设置,实现笔迹的颜色,擦除,写等操作,这些基础的内容在项目开发中几乎无法使用,近期将会持续更新,在这个项目中对InkCanva使用及理解

1.对如何对笔迹进行缩放与位移
首先笔迹Stroke不是继承自UIElement,几乎所有的控件,图形都继承UIElement,但笔迹不是,这就导致对笔迹的常用操作失效,比如InkCanvas.SetLeft,Panel.GetZIndex,Panel.SetZIndex,这些功能都需要继承自UIElement,所以Stroke无法通过传统方式进行移动,面板展示是固定的。
那如何解决这个问题,可以通过Transform,Stroke支持转换方法
public virtual void Transform(Matrix transformMatrix, bool applyToStylusTip)
所以平移可以通过如下方式实现
            TranslateTransform translate = new TranslateTransform();
            translate.X = point.X;
            translate.Y = point.Y;
            Matrix matrixTranslate = translate.Value;
            _stroke.Transform(matrixTranslate, false);
X和Y代表要移动过去的点,Transform第二个bool参数代表笔迹是否需要跟着进行变化,比如放大或者缩小

WPF InkCanva中操作Stroke进行平移的方法

原文:https://www.cnblogs.com/lhyAira/p/14443277.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!