猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
Web - 如何区分手指触摸和手写笔触摸?
我正在尝试制作一个绘图网络应用程序。我想用手写笔绘画并用手移动画布。如何区分这两者?
我在 MDN 官方文档中没有发现任何有希望的内容。
沧海一幻觉
浏览 197
回答 1
1回答
慕标5832272
通过捕获 PointerEvent 并检查其代表笔尖尺寸的宽度和高度属性,您可以相当高的置信度判断触摸是否是由手指或手写笔进行的。手写笔通常比手指具有更小的宽度和高度。训练应用程序来识别手指与手写笔由于屏幕、手指和触控笔之间的笔尖尺寸可能有所不同,因此一种可能的策略是让用户训练应用程序以识别不同类型的触摸:“这是一根手指”命令,然后进行几次手指触摸,直到应用程序获得良好的尺寸样本。“这是一支手写笔”命令,然后是几次手写笔触摸。这将显示屏幕上触摸或单击的笔尖尺寸:let counter = 0;// listen for 'pointerdown' events, detect tip sizewindow.addEventListener('pointerdown', (evt) => { const w = Number(evt.width).toFixed(1); const h = Number(evt.height).toFixed(1); const div = document.getElementById('result'); counter++; div.innerHTML = `${counter}: stylus width: ${w}, height: ${h}`;});body { background-color: #eee; color: black;}#result { margin: 0.5rem; width: 18rem; min-height: 2rem; padding: 0.5rem; border: 1px solid gray; color: green;}<h4>Test of Pointer Stylus Tip Size</h4><p>Touch or click anywhere...</p><div id="result"></div>
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Html5
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续