首页 > 其他分享 >win10 uwp 笔迹书写预测 墨迹书写加速

win10 uwp 笔迹书写预测 墨迹书写加速

时间:2023-07-19 20:05:12浏览次数:52  
标签:git 预测 笔迹 书写 代码 uwp UWP win10

在 UWP 的 InkCanvas 里自带了预测书写轨迹的功能,开启此功能可以进行书写预测,从而减少书写延迟。本文将告诉大家如何在 UWP 的 InkCanvas 里开启笔迹书写预测功能

在 UWP 的 InkCanvas 里开启笔迹书写预测功能只需要设置 InkModelerAttributes 的 PredictionTime 属性即可,这个属性是用来设置预测的时间量。默认值为 15 毫秒,有效范围为 0 到 20 毫秒,也就是最多能预测 20 毫秒之后的轨迹点。印象中在 10240 的文档里面,是有一个使用 Inertia 惯性预测算法的笔迹书写预测的,但是我现在还没找到文档

设置 InkModelerAttributes 的 PredictionTime 属性需要先获取到 InkDrawingAttributes 对象,因为 InkModelerAttributes 是 InkDrawingAttributes 里的一个属性

演示的项目如下,先在 MainPage.xaml 添加以下代码

    <Grid>
        <InkCanvas x:Name="InkCanvas"></InkCanvas>
    </Grid>

以上代码在界面里存放一个 InkCanvas 元素

接着在构造函数使用以下代码设置笔迹书写预测

            var inkPresenter = InkCanvas.InkPresenter;
            inkPresenter.InputDeviceTypes =
                CoreInputDeviceTypes.Touch | CoreInputDeviceTypes.Mouse | CoreInputDeviceTypes.Pen;
            var defaultDrawingAttributes = inkPresenter.CopyDefaultDrawingAttributes();
            defaultDrawingAttributes.Color = Colors.Red;
            defaultDrawingAttributes.ModelerAttributes.PredictionTime = TimeSpan.FromMilliseconds(20);
            inkPresenter.UpdateDefaultDrawingAttributes(defaultDrawingAttributes);

以上核心代码就是通过 defaultDrawingAttributes.ModelerAttributes.PredictionTime = TimeSpan.FromMilliseconds(20); 设置预测时间量。设置为最大的 20 毫秒

如此即可完成笔迹书写预测功能,运行代码,在屏幕上用触摸书写,可以看到在实际鼠标光标之前就能画出一段在不断变更的笔迹

修改 PredictionTime 属性的值,可以在性能比较差的设备上看到比较明显的效果

这个技术在许多 UWP 应用上,例如 OneNote UWP 等都是默认开启的

但是毕竟是预测的,肯定存在纠错时候,这时将会发现笔迹的笔尖抖动。也就是开启笔迹预测功能,能够降低延迟,但是可能在预测和实际触摸点不符合时笔尖会变更

详细请参阅 InkModelerAttributes.PredictionTime - Windows UWP applications Microsoft Learn

如期望更换预测算法或者做更底层控制,请参阅 DelegatedInkTrailVisual.AddTrailPointsWithPrediction Method (Windows.UI.Composition) - Windows UWP applications Microsoft Learn

本文代码放在githubgitee 欢迎访问

可以通过如下方式获取本文以上的源代码,先创建一个名为 KalljelcufedilaiCaiheebeferwhearlair 的空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码

git init
git remote add origin https://gitee.com/lindexi/lindexi_gd.git
git pull origin b8cb3470fa7831173d617aad6498b067236edad2

以上使用的是 gitee 的源,如果 gitee 不能访问,请替换为 github 的源。请在命令行继续输入以下代码

git remote remove origin
git remote add origin https://github.com/lindexi/lindexi_gd.git
git pull origin b8cb3470fa7831173d617aad6498b067236edad2

获取代码之后,进入 KalljelcufedilaiCaiheebeferwhearlair 文件夹

更多触摸和笔迹书写相关请看 WPF 触摸相关

标签:git,预测,笔迹,书写,代码,uwp,UWP,win10
From: https://www.cnblogs.com/lindexi/p/17566563.html

相关文章

  • Win10家庭版 win10 HOME版本找不到 没有 组策略gpedit.msc 解决办法
    WIN10HOME很多用户使用电脑的时候,系统提示找不到组策略gpedit.msc,请确定文件是否正确,再试一次的错误情况,这是怎么一回事呢?由于系统中“gpedit.msc”系统文件被破坏或丢失导致,该这么解决呢?今天小编带来了解决方法,具体的下面一起来看看吧。win10家庭版本身不提供组策略的功能......
  • win10小狼毫配置实操笔记
    下载安装进入官方网站下载最新版小狼毫,安装后选择朙(明)月拼音。在配置前阅读官方文档有关用户文件夹和共享文件夹的介绍。default.yaml用来调试全局方案,定制该文件后切换其他比如五笔、双拼等方案时,其定制内容依旧适用。weasel.yaml用来修改rime的常规设置,定制外观。symbol......
  • “Win10笔记本开热点,手机连不上”的解决方案
    1、打开WLAN和热点开关;2、网络和Internet设置->网络和共享中心:可以看到2个活动网络,一个是”以太网“(可以连接网线上网),另外一个是热点(名字类似于”本地连接*2“不能上网)。3、进入”以太网“的属性->共享->Internet连接网络:勾选”允许其他网络用户通过此计算机的Internet连接来......
  • 微软宣布Win10准备热烈的迎接Docker
    在DockerCon2017大会上,Docker团队今天宣布了LinuxKit,这是一个安全、干净和便携式的Linux子系统container容器环境。LinuxKit允许工具构建自定义的Linux子系统,可以仅包含完全运行时平台的组件需要。所有的系统服务都是可替换的容器,可以删除不需要的一切。 因为LinuxKit......
  • 微软宣布Win10准备热烈的迎接Docker
    在DockerCon2017大会上,Docker团队今天宣布了LinuxKit,这是一个安全、干净和便携式的Linux子系统container容器环境。LinuxKit允许工具构建自定义的Linux子系统,可以仅包含完全运行时平台的组件需要。所有的系统服务都是可替换的容器,可以删除不需要的一切。 因为LinuxKit......
  • 微软宣布Win10准备热烈的迎接Docker
    在DockerCon2017大会上,Docker团队今天宣布了LinuxKit,这是一个安全、干净和便携式的Linux子系统container容器环境。LinuxKit允许工具构建自定义的Linux子系统,可以仅包含完全运行时平台的组件需要。所有的系统服务都是可替换的容器,可以删除不需要的一切。 因为LinuxKit......
  • win10绕过通过microsoft登录
    win10在安装win10时会出现下图中需要通过Microsoft的账户才能登陆系统,假设现在我没有微软的注册账户是不是就意味着我不能使用win10系统,答案是否定的,可以使用本地的用户来使用win10系统方法1改为域加入跳过Microsoft登录方法2断网跳过Microsoft登录直接拔掉网线,安装部......
  • 恢复Win10 LTSC照片查看器
    echo恢复Win10照片查看器regadd"HKLM\SOFTWARE\Microsoft\WindowsPhotoViewer\Capabilities\FileAssociations"/v".jpg"/tREG_SZ/dPhotoViewer.FileAssoc.Tiff/fregadd"HKLM\SOFTWARE\Microsoft\WindowsPhotoViewer\Capabilit......
  • Win10 子系统 WSL 开机启动服务
    文章来源:https://www.yuque.com/hhun/code/wsl2_runLinux中创建执行脚本脚本路径 /etc/init.wsl脚本内容#! /bin/sh/etc/init.d/cron $1/etc/init.d/ssh $1/etc/init.d/bt $1/etc/init.d/nginx $1/etc/init.d/php-fpm-56 $1/etc/init.d/php-fpm-73 $1/etc/in......
  • 如何在win10系统主机中安装win10系统虚拟机(附win10镜像和VMware Station 15 Pro安装包
    win10虚拟机镜像:链接:https://pan.baidu.com/s/1duHTmR9ZHfRqwretY2IvHg提取码:6hi4VmwareStation15Pro安装包:链接:https://pan.baidu.com/s/1CiL8HcEAlYo-iyCrbkflpA提取码:ka9m 下载完后,安装VMwareStation。需要永久激活码的童鞋请参考:VMwareWorkstation15中文破解......