私はWindows 10 Mobile上で動作するWindows 10 UWPアプリケーションを持っています。私が必要とするのは、ユーザーから署名を取得することです。これまでは、XAMLでInkCanvasを使用していて、コードを自分のコードに接続しています。WCFコールを使用してInkCanvas署名を送信する
このボタンをクリックすると、InkCanvasで署名が取得され、WCF呼び出しによってサーバーに送信されます。サーバーとWCFサービスは既に存在します。これは、base64の直列化された文字列として署名イメージを取り込みます。
イメージまたはバイト配列を取得したら、base64を取得する方法を知っています。しかし、読んでいるうちに記事やサンプルがWPFやWindows 8.1用に書かれていて、Windows 10 UWPで動作しないことが判明しました。また、私はそれが動作することがわかっている例のうち、私の唯一のオプションは、GIFとしてファイルに署名を保存することです。
私は私が私にInkStrokeの読み取り専用のリストを返します。この
var strokeCollection = cvsSignature.InkPresenter.StrokeContainer.GetStrokes();
ようGetStrokes()を呼び出すことができることがわかります。私はそのリストを繰り返し、バイト配列を作ることができると思いますか?どうすればいい?これは効率的ではないようですね?
それ以外の場合は、ストリームをファイルストリームからメモリストリームに変更できると思っていましたが、これは不可能であるか、または何か不足しています。私はこの
using (var inkMemStream = new MemoryStream())
{
await cvsSignature.InkPresenter.StrokeContainer.SaveAsync(inkMemStream);
}
しかし、私は、私は
感謝をWindows.Storage.Streams.IOutputStreamするSystem.IO.MemoryStreamから変換することはできません例外を取得アプローチのこのタイプのをしようとしています!
詳細な例をありがとうございます。私はこれをさらに調べます。しかし、コメントとして、私はファイルに保存してからファイルから読み込んで、やりたいことをする必要があるという事実を頭に入れてはいけません。これは、最初にファイルに保存する必要がないアプリケーションでは不慣れな、貧弱でコストのかかる方法です。私は、InkCanvasクラスがメモリに直接保存する機能を除外していることに驚いています。 –