デジタルインク利用アプリの実装方法
では、各プラットフォームに、どのように実装していくのか。
まずWindowsでは8以降、デスクトップモードと、新しいUIのWindowsストアアプリの2つの世界がある。
デスクトップではWPFとWindowsフォームという.NETアプリの世界があり、ネイティブアプリの方には、マイクロソフト標準ではないが、標準的に使われているWintabというタブレット向けのAPIがある。
WPFのプロジェクトでは、ツールボックスからInkCanvasを貼り付けるだけでインクに対応したアプリができてしまう。筆圧にも対応している。Windowsフォームにも同じような仕組みがあるのだが、Microsoft.Inkというライブラリを追加しなければならない。これはWindows SDKの中に入っている。
一方、Windowsストアアプリでは、標準のライブラリですべて対応しているのだが、若干面倒なのは、ポインタを拾いながら、自分で絵を描かないといけない。実際にはイベントの中でPointerDeviceTypeを拾い、指タッチなのか、ペンタッチなのかを識別する。ペンの場合は、そこから筆圧を感知し、描画する線の太さを変えるといった処理も実現できる。
Androidでは4.0以降、標準でWPFと同様にイベントが発生したところでポインタを取り、つないでいくことができる。実はAndroidでは、タッチが始まろうが、動こうが、終わろうが、すべて1つのイベントである。そのため、getActionという形でポインタがどう動いたかを切り分けることが必要になってくる。ポインタがイベント発生の履歴情報を持っているので、それをなぞることにより、精密な線を書くことができる。
iOSは、スタイラスペンをサポートしていない。そこでワコムでは先端を静電容量式に対応したペンを使い、Bluetoothで情報を飛ばすことにより筆圧の情報もiOS側に伝える製品「Intuos Creative Stylus」を提供している。同製品はTouchイベントで座標を拾い、Stylusイベントで筆圧を感知し、その情報を見ながら操作を決める仕組みになっている。
もし、マルチプラットフォームに対応したデジタルインクのアプリを作るとしたら、Webアプリケーションが主流になると思われる。ではWebアプリケーションで、どうやって筆圧を感知するのか。
セキュリティ上の問題により、Webアプリケーションではドライバから上がってくる筆圧情報を、直接に取りに行くことはできない。それを解決するため、ワコムが提供しているのが「WebPlugin」という仕組みである。ペンでパネルに書いていくと、そこからドライバで取得した筆圧情報を、プラグインを通じてブラウザに渡していく。そうすることにより、筆圧を反映した描画を可能にしている。
ただし、WebPluginはワコムのタブレットのドライバと一緒に配布されており、ワコムのタブレットでないと動作しない。また、WindowsとMac OS Xにしか対応しておらず、AndroidとiOSには未対応だ。
デジタルインクにも標準化の動きがある。現時点では実装されるかどうかは不明だが、W3Cで、ペンの入力情報をブラウザに伝えるための標準仕様として「Ink Markup Language」という仕様が検討されている。
デジタルインクのテクノロジーは、様々な分野で応用が可能だ。たとえば、ワコムの手書きデジタルサインに対応した製品「サインタブレット」は、ショッピングセンターのららぽーとなどで、クレジット購入サイン用システムとして採用されている。サインタブレットでは、タブレット上で行ったサインの筆記情報をUSBを通じてPCに送り、Signature SDKを使って描画する。
手書き文字認識も重要である。Windowsでは標準で認識エンジンを持っており、Windows XP Tablet Edition以降で標準機能として提供されている。一方、AndroidやiOSでは、サードベンダ提供のコンポーネントを使う必要がある。
実はワコムが提供しているペンには、個体ごとにIDを持っている機種がある。同社ではそうした機種に対し、「システムに対してペンのIDを使用してログインする」といった用途の実証実験を行っている。用途のアイデアも募集中とのことである。
新村氏は最後に「ペンを上手く活用したアプリを作れば、より新しい文房具の世界が広がっていく」とデジタルインク技術の応用を呼びかけ、セッションを終了した。
株式会社ワコム
〒349-1148 埼玉県加須市豊野台二丁目 2-510-1
フォーム: http://tablet.wacom.co.jp/business/contact/index.html
URL: http://wdnet.jp/