InkManager.SaveAsync(IOutputStream) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Note
拡張アプリケーション マークアップ言語 (XAML) を使用するユニバーサル Windows アプリの場合は、InkManager の代わりに InkPresenter と InkCanvas コントロールを使用することをお勧めします。
InkManager によって管理されている InkStroke コレクション内のすべての InkStroke オブジェクトを、指定したストリームに非同期的に保存します。
インク データは、インク シリアル化形式 (ISF) メタデータとしてシリアル化され、グラフィックス交換形式 (GIF) ファイルに埋め込まれます。
public:
virtual IAsyncOperationWithProgress<unsigned int, unsigned int> ^ SaveAsync(IOutputStream ^ outputStream) = SaveAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<uint32_t, uint32_t> SaveAsync(IOutputStream const& outputStream);
/// [Windows.Foundation.Metadata.RemoteAsync]
/// [Windows.Foundation.Metadata.Overload("SaveAsync")]
IAsyncOperationWithProgress<uint32_t, uint32_t> SaveAsync(IOutputStream const& outputStream);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<uint,uint> SaveAsync(IOutputStream outputStream);
[Windows.Foundation.Metadata.RemoteAsync]
[Windows.Foundation.Metadata.Overload("SaveAsync")]
public IAsyncOperationWithProgress<uint,uint> SaveAsync(IOutputStream outputStream);
function saveAsync(outputStream)
Public Function SaveAsync (outputStream As IOutputStream) As IAsyncOperationWithProgress(Of UInteger, UInteger)
パラメーター
- outputStream
- IOutputStream
対象のストリーム。 代わりに 、IRandomAccessStream ( IOutputStream が必要) オブジェクトを指定できます。
戻り値
Windows.Foundation.IAsyncOperationWithProgress<unsigned int,unsigned int>
IAsyncOperationWithProgress<uint32_t,uint32_t>
保存されたストリームのサイズと、送信されたバイト数としての非同期操作の状態。 詳細については、「 WriteAsync メソッド」を参照してください。
実装
- 属性
例
この例の 関数は saveStrokes
、次の方法を示しています。
- FileSavePicker オブジェクトを使用して、ファイルの種類がグラフィックス交換形式 (GIF) 形式に制限されているファイル保存画面を表示します。
- OpenAsync メソッドを使用して出力ストリームを設定します。
- InkManager オブジェクト (
inkManager
) の SaveAsync メソッドを使用して、インク データを出力ストリームにシリアル化し、グラフィックス交換形式 (GIF) ファイル (storageFile
) に埋め込みます。
// Save all strokes owned by inkManager.
function saveStrokes()
{
// Ensure that strokes exist before calling saveAsync.
if (inkManager.getStrokes().size > 0)
{
// Set up the file save screen.
var savePicker = Windows.Storage.Pickers.FileSavePicker();
savePicker.suggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.picturesLibrary;
savePicker.fileTypeChoices.insert("GIF with embedded ISF", [".gif"]);
savePicker.defaultFileExtension = ".gif";
// Set up the stream.
var saveStream = null;
// Asynchronously save the ink data to the stream.
savePicker.pickSaveFileAsync().done(
function (file)
{
if (null !== file)
{
file.openAsync(Windows.Storage.FileAccessMode.readWrite).then(
function (stream)
{
saveStream = stream;
return inkManager.saveAsync(saveStream);
}
).then(
function ()
{
return saveStream.flushAsync();
},
function (e) {
// Override the standard saveAsync error with our own.
throw new Error("saveAsync");
}
).done(
function ()
{
statusMessage.innerText = "Strokes saved as GIF with embedded ISF (.gif).";
saveStream.close();
},
function (e) {
statusMessage.innerText = "Save: " + e.toString();
// Close the stream if open.
if (saveStream) {
saveStream.close();
}
}
);
}
}
);
}
else
{
statusMessage.innerText = "No strokes to save.";
}
}
注釈
メタデータをグラフィックス交換形式 (GIF) ファイルに埋め込むと、インク対応アプリケーションの完全な忠実性を維持しながら、インク対応ではないアプリケーションでインクを表示できます。 この形式は、HTML ファイル内でインク コンテンツを転送し、インクアプリケーションとインク以外のアプリケーションの両方で使用するのに最適です。
Note
インク シリアル化形式 (ISF) は、インクの最もコンパクトな永続的表現です。 バイナリ ドキュメント形式で埋め込んだり、クリップボードに直接配置したりしながら、圧力、幅、色、傾き、ねじれなどのさまざまなインク プロパティを保持できます。
適用対象
こちらもご覧ください
- ペン操作とスタイラス操作
- 作業の開始: UWP アプリでのインクのサポート
- インクの分析のサンプル (基本) (C#)
- インクの手書き認識のサンプル (C#)
- インク ストロークを Ink Serialized Format (ISF) ファイルに保存し、読み込む
- インク ストロークをクリップボードに保存し、読み込む
- インク ツール バーの位置と向きのサンプル (基本)
- インク ツール バーの位置と向きのサンプル (動的)
- 塗り絵帳のサンプル
- Family Notes のサンプル
- 手描き入力のサンプル (JavaScript)
- 単純な手描き入力のサンプル (C#/C++)
- 複雑な手描き入力のサンプル (C++)
- インク分析のサンプル