WPF UI InkCanvas 导师演示画板 演示 笔记 画笔 识别

news/2024/7/8 2:36:38 标签: wpf, ui, 笔记, 画板, 演示

 <Grid>
     <InkCanvas Name="inkCanvas"/>

     <Button Content="识别" Click="Button_Click" VerticalAlignment="Bottom"/>
 </Grid>

引用内库

Ink ink = new Ink();
private void Button_Click(object sender, RoutedEventArgs e)
{
    using RecognizerContext recognizerContext = new RecognizerContext();

    recognizerContext.Strokes = ink.CreateStrokes();
    recognizerContext.Strokes.Add(CombineStroke());

    RecognitionResult result = recognizerContext.Recognize(out RecognitionStatus status);
    RecognitionAlternates als = result.GetAlternatesFromSelection();

    List<string> strs = new List<string>();
    for (int i = 0; i < als.Count; i++)
    {
        strs.Add(als[i].ToString());
    }
}

private Stroke CombineStroke()
{
    List<System.Drawing.Point> points = new List<System.Drawing.Point>();

    foreach (var item in this.inkCanvas.Strokes)
    {
        points.AddRange(
            item.StylusPoints.Select(p => new System.Drawing.Point((int)p.X, (int)p.Y)).ToList()
        );
    }

    Stroke stroke = ink.CreateStroke(points.ToArray());

    return stroke;
}


http://www.niftyadmin.cn/n/5536071.html

相关文章

【Linux】【部署】主机初始化

初始化服务器 #python3 init_host.py init 【主机名】 【主机ip】 python3 init_host.py init NODE01 192.168.199.10init_host.py 文件内容 #!/usr/bin/env python # -*- coding: utf-8 -*- import json import os import sys import logging import time import logging.co…

【计算机毕业设计】061互助学习微信小程序

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

【MySQL】 NDB 集群概述

MySQL NDB&#xff08;Network Database&#xff09;是MySQL的一个存储引擎&#xff0c;也称为NDB Cluster存储引擎。它主要用于构建高可用性、高可扩展性和高性能的分布式数据库集群。NDB Cluster是MySQL的一个特殊版本&#xff0c;专门设计用于处理大规模的分布式数据存储和处…

行业洞察 | 2024应用程序安全领域现状报告

在信息爆炸的时代&#xff0c;我们每天都在使用各种应用&#xff0c;从社交娱乐到工作学习&#xff0c;应用已经成为我们生活中不可或缺的一部分。然而&#xff0c;你是否知道&#xff0c;在这些便捷的背后&#xff0c;隐藏着巨大的安全风险&#xff1f; 近年来&#xff0c;应用…

卡尔曼滤波Q和R怎么调

卡尔曼滤波器是一种有效的估计算法&#xff0c;主要用于在存在噪声的环境中估计动态系统的状态。它通过结合预测模型&#xff08;系统动态&#xff09;和观测数据&#xff08;包括噪声&#xff09;来实现这一点。在卡尔曼滤波中&#xff0c;调整过程噪声协方差矩阵 ( Q ) 和测量…

C++ 学习笔记一

C 学习笔记 使用空参数列表而不是void来指示函数没有参数。现代机器上的内存通常被组织成字节大小的单元&#xff0c;每个内存字节都有一个唯一的地址。为了确定特定机器上数据类型的大小&#xff0c;C 提供了一个名为sizeof的运算符。sizeof运算符是一个一元运算符&#xff0…

【Linux】GNU是什么

GNU是一个自由软件项目&#xff0c;其全称是“GNUs Not Unix!”&#xff0c;由理查德斯托曼&#xff08;Richard Stallman&#xff09;于1983年发起。GNU项目的目标是创建一个完全自由的操作系统&#xff0c;包括一整套完全自由的软件工具&#xff0c;以取代Unix系统。这里的“…

BeanUtils拷贝List数据

工具类&#xff1a; package com.ssdl.baize.pub;import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.List; import java.util.function.Supplier; import org.springframework.beans.BeanUtils;public class BeanConvertUti…