gpt4 book ai didi

javascript - Web - 如何区分手指触摸和手写笔触摸?

转载 作者:行者123 更新时间:2023-12-01 15:42:09 25 4
gpt4 key购买 nike

我正在尝试制作一个绘图网络应用程序。我想用手写笔画画并用手移动 Canvas 。如何区分这两者?

我在官方 MDN 文档中没有发现任何有希望的东西。

最佳答案

通过捕获 PointerEvent 并检查其表示 Nib 大小的宽度和高度属性,您可以非常自信地判断触摸是通过手指还是触控笔。

触控笔通常具有比手指小的宽度和高度。

训练一个应用程序来识别手指和手写笔

由于 Nib 大小可能因屏幕、手指和触控笔而异,因此可能的策略是让用户训练应用程序识别不同类型的触摸:

“这是一个手指”命令,然后是几次手指触摸,直到应用程序具有良好的大小样本。

“这是一个手写笔”命令,然后是几个手写笔触摸。

MDN 上 PointerEvent interface .

Demo that shows stylus (or finger) tip size of every screen touch .

这将显示触摸或单击屏幕的尖端大小:

let counter = 0;
// listen for 'pointerdown' events, detect tip size
window.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>

关于javascript - Web - 如何区分手指触摸和手写笔触摸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61233613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com