2009-07-02 18 views
1

私はWPF InkCanvasコントロールを使用して、Tablet PCアプリケーションの署名を取得しています。WPF InkCanvas - 署名済みかどうかを判断する方法

私の要件の1つは、アプリケーションが実際に「署名済み」であるかどうかを検証することです。今私はInkCanvasのStrokesコレクションをチェックすることでこれをやっています - もし0ストロークがあれば、ユーザは "署名していません"と知っています。

しかし、ユーザーが単一のスラッシュまたは1つのドットを入力した場合、これはストロークとしてカウントされ、署名は実際には有効ではなくても、私の検証テストは合格となります。

これについてより良いテストを作成する方法についてのご意見はありますか?確かに、有効な署名であるかどうかのユースケースは非常に曖昧ですが、明らかに悪い署名を排除しようとします。

これは簡単な方法で単純に解決できないのですか?

答えて

1

hereのように、署名が既存の署名に対して有効な一致であるかどうかをテストするアルゴリズムがあります。しかし、まず何かが署名であるかどうかを知ることは、はるかに複雑なようです。

ウィキペディアから

:法的文書で

、「マーク」(しばしば「X」が、時折、パーソナライズされた記号)は、その言語を使用
...
いくつかの文化を作ることができます文盲調印アルファベット以外の書記体系は、西洋的な署名そのものを共有していません。名前の「署名」によって、書かれた商品は標準的な方法で自分の名前を「書いた」結果と変わりません。これらの言語では、書いたり署名したりするのに同じ文字が使われます。そのような例は、中国語、日本語、韓国語の3つです。

Intelligent Character Recognitionを使用してこれにアクセスすることができますが、私の署名には文字が入っているように見えることはほとんどありません。 UPSやFedExパッケージの歌唱パッドの1つを使用しているとさらに悪化します。次回はパッケージが到着しますが、ダッシュと点だけを使って署名してみましょう。それが許せばそれが見えます。

署名が認識可能な単語や文字と一致しない可能性があるため、それ以上検証しようとすると実際には有効な署名が破棄される可能性があります。なんらかの理由で何かドットがあるかどうかを知る必要がある場合は、署名が特定のサイズの四角形を塗りつぶすのを検証してみてください。それでも無効ではない結果が無効になる可能性があるので、検証を追加しようとすると、有効な署名の期待を完全に文書化してください。

関連する問題