1

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

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

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

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

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

4

1 回答 1

1

我知道有一些算法可以测试签名是否与现有签名有效匹配,就像这里概述的那样。然而,首先要找出某个东西是否是签名似乎要复杂得多。

来自维基百科:

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

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

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

于 2009-07-02T22:07:19.947 回答