能否通过外设(手写笔、手写板等)在canvas上写字呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了能否通过外设(手写笔、手写板等)在canvas上写字呢?相关的知识,希望对你有一定的参考价值。

参考技术A 需要合适的手写板驱动支持 用兰亭万能手写板驱动试一下追问

您有试过吗,在canvas上画画或者写字

WPF之InkCanvas控件

==》InkCanvas设置位置跟Canvas一样。通过InkCanvas.Top之类的设置,需要设置的属性有EditingMode,来自于InkCanvasEditingMode枚举。有7个属性
1.None=0// 忽略鼠标和手写笔输入
2.Ink = 1// 允许用户绘制批注,默认模式。使用鼠标或者手写笔绘图时,会绘制笔画
3.GestureOnly = 2// 不远许用户绘制笔画批注,但会关注预先定义的特定姿势,由System.Windows.Ink.ApplicationGesture定义笔势
4.InkAndGesture = 3// 允许用户绘制壁画批注,也可以识别预先定义的姿势
5.Select = 4// 允许用户选择保存在Children集合中的元素,要选择一个元素用户必须单机该元素或者拖动套索选择该元素,一旦选择一个元素就可以移动该元素,改变其尺寸或将其删除
6.EraseByPoint = 5// 擦除鼠标选中的笔画
7.EraseByStroke = 6// 擦除选中的一笔,开始到结束都会擦除

 

==》下面的事件可以通过设置EventArgs对象的Cancel属性取消时间(以ing结尾的事件)
StrokeErasing//擦除时
SelectionChanging// 选中时
SelectionMoving// 移动时
SelectionResizing// 放大时


==》需要注意的事件,先执行ing事件,次执行ed事件
ActiveEditingModeChanged// 编辑模式发生改变时
Gesture// 删除笔画时
StrokeCollected// 绘制完笔画时
SelectionChanged// 选中时
SelectionMoved// 移动时
SelectionResized// 放大时
StrokeErased// 擦除时

初始化画笔属性

        public MainWindow()
        {
            InitializeComponent();
            //设置画笔属性
            DrawingAttributes drawingAttributes = new DrawingAttributes
            {
                Color = Colors.Red,
                Width = 2,
                Height = 2,
                StylusTip = StylusTip.Rectangle,
                IsHighlighter = false,
                IgnorePressure = true,
            };
            inkcanvas.DefaultDrawingAttributes = drawingAttributes;
        }
技术图片

MouseDown事件不触发可以用PreviewMouseDown代替

装饰框

以上是关于能否通过外设(手写笔、手写板等)在canvas上写字呢?的主要内容,如果未能解决你的问题,请参考以下文章

想要在电脑上写汉字(电脑是英文系统)可以在手机上装个软件当手写板连到电脑上吗?手机是三星和iphone。

react-signature-canvas手写签名

SignaturePad 手写画板使用 & 背景未覆盖canvas问题

手写particles

sign-canvas 一个基于canvas开发,封装于Vue组件的通用手写签名板(电子签名板),支持pc端和移动端;

uniapp 手写canvas海报(兼容android/ios/h5/微信小程序)