【问题标题】:WPF InkCanvas - how to determine if it has been "signed"WPF InkCanvas - 如何确定它是否已“签名”
【发布时间】:2009-07-02 20:10:14
【问题描述】:

我正在使用 WPF InkCanvas 控件来捕获 Tablet PC 应用程序中的签名。

我的一个要求是验证应用程序是否真的已经“签名”。现在我通过检查 InkCanvas 的 Strokes 集合来执行此操作 - 如果有 0 个笔划,那么我知道用户没有“签名”。

但是,如果用户输入了一个斜线,甚至一个点,这将被视为一个笔划,我的验证测试将通过,即使签名不是真正有效的。

关于如何为此构建更好的测试有任何想法吗?诚然,什么是有效签名和什么不是有效签名的用例非常模糊,但我想尝试消除明显不好的签名。

或者这是无法以任何直接的方式解决的?

【问题讨论】:

    标签: wpf ocr pattern-recognition inkcanvas icr


    【解决方案1】:

    我知道有一些算法可以测试签名是否与现有签名有效匹配,例如here 概述的那个。但是,首先要找出某个东西是否是签名似乎要复杂得多。

    来自维基百科:

    在法律文件上,不识字的签字人可以做一个“标记”(通常是一个“X”,但有时是一个个性化的符号)
    ...
    几种语言使用字母以外的书写系统的文化本身并不共享西方的签名概念:一个人的名字的“签名”产生的书面产品与以标准方式“书写”一个人的名字的结果没有什么不同。对于这些语言,书写或签名涉及相同的书写字符。三个这样的例子是中文、日文和韩文。

    虽然可以使用Intelligent Character Recognition 来解决此问题,但我也知道我的签名很少看起来像其中包含任何字符。如果我使用其中一种 UPS 或 FedEx 包裹唱歌垫,情况会更糟。下次包裹到达时,我会尝试只用一个破折号和一个点来签名,看看它是否允许(我认为它会允许,因为它已经足够接近那个了)。

    由于签名可能与任何可识别的单词或字符都不匹配,因此尝试进一步“验证”它实际上可能会丢弃一些有效的签名。如果由于某种原因您仍然需要知道是否有比点更多的东西,请查看验证签名是否填充了某个大小的矩形。这仍然可能使不应该的结果无效,因此,如果您确实尝试向其添加任何验证,请确保完整记录有效签名的期望。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-15
      • 2015-10-14
      • 1970-01-01
      • 2010-09-20
      • 2011-05-18
      相关资源
      最近更新 更多