http://tabletpc.comgate.jp/

タブレットPC(Tablet PC)とThinkPad、iPhone、iPadについての情報、活用法、雑談など
[このサイトの使い方] [掲示板] [リンク集] [iPhone/Taiatari] [太郎君の備忘録・付箋] [iPod touch blog]

Google
<< June 2018 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 >>
 
COUNTER
  • 累計 
RECENT COMMENT
RECENT TRACKBACK
MOBILE
qrcode
PROFILE
無料ブログ作成サービス JUGEM
 
インクの保存とコピー方法
手書きデータのコピー今回は手書きのインクデータを保存する方法
方法は簡単で、Save()というメソッドでインクデータをまずbyte配列に変換する。
あとは、それをファイルに保存するだけだ。
下記がサンプル。
NoteInkPictureというのが、手書き入力用エリアのInkPictureオブジェクトである。

byte[] inkData = NoteInkPicture.Ink.Save();
FileStream stream = null;
stream = new FileStream("C:¥¥InkSaveData.isf",FileMode.Create,FileAccess.Write,FileShare.None);
stream.Write(inkData,0,inkData.Length);
stream.Close();

ためしたことはないが、Save()のメソッドにパラメータを指定することでGIF形式に保存することができるようだ。

ファイルから読み込む時は逆の手順をふめばよい。
Load()メソッドでbyte配列からインクを再生する。
こんな感じ。
FileStream stream = null;
stream = new FileStream( "C:¥¥InkSaveData.isf",FileMode.Open,FileAccess.Read,FileShare.Read);
byte[] inkData = new byte[stream.Length];
stream.Read(inkData,0,inkData.Length);

Microsoft.Ink.Ink inkWk = new Microsoft.Ink.Ink();
inkWk.Load (inkData);

NoteInkPicture.InkEnabled = false;
NoteInkPicture.Ink = tempInk;
NoteInkPicture.InkEnabled =true;

最後にInkPictureにデータをセットする時は、一度InkEnabledで無効化してからセットして、最後に有効にするという手順が必要らしい。

上記はファイルに保存して後で再現する例だが、これを応用すればInkPictureの手書きエリアから別のInkPictureのインクエリアにコピーするといったことも可能。
Save()で変換したbyte配列を別のInkPictureでLoad()すればよい。

スクリーンショットはこれを使って、手書きメモをデスクトップに付箋のように貼り付けたところです。

コメント
コメントする









 
トラックバック
この記事のトラックバックURL
http://tabletpc.comgate.jp/trackback/350613
 

(C) 2018 ブログ JUGEM Some Rights Reserved.