共用方式為


InkManager.LoadAsync(IInputStream) 方法

定義

注意

針對使用可延伸應用程式標記語言的通用 Windows 應用程式 (XAML) ,我們建議使用 InkPresenterInkCanvas 控制項,而不是 InkManager

以非同步方式從指定的資料流程將所有InkStroke物件載入InkManager所管理的InkStroke集合。

筆跡資料會序列化為筆跡序列化格式 (ISF) 中繼資料,並內嵌到圖形交換格式 (GIF) 檔案中。

public:
 virtual IAsyncActionWithProgress<unsigned long long> ^ LoadAsync(IInputStream ^ inputStream) = LoadAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncActionWithProgress<uint64_t> LoadAsync(IInputStream const& inputStream);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncActionWithProgress<ulong> LoadAsync(IInputStream inputStream);
function loadAsync(inputStream)
Public Function LoadAsync (inputStream As IInputStream) As IAsyncActionWithProgress(Of ULong)

參數

inputStream
IInputStream

包含筆劃集合的資料流程。 IRandomAccessStream (需要改為指定IOutputStream) 物件。

傳回

IAsyncActionWithProgress<UInt64>

Windows.Foundation.IAsyncActionWithProgress

IAsyncActionWithProgress<uint64_t>

非同步作業的狀態為擷取的位元組數目。 如需詳細資訊,請參閱 ReadAsync 方法。

實作

屬性

範例

此範例中的 函 loadStrokes 式示範如何:

  • 顯示檔案開啟畫面,其中檔案類型受限於使用 FileOpenPicker 物件的圖形交換格式 (GIF) 格式。
  • 透過 OpenAsync 方法設定輸入資料流程。
  • 使用 InkManager 物件的 LoadAsync 方法, (inkManager) ,從圖形交換格式 (GIF) 檔案 storageFile () 來取消序列化筆跡資料。
// Load strokes into an inkManager.
function loadStrokes()
{
    // Set up the file open screen.
    var openPicker = Windows.Storage.Pickers.FileOpenPicker();
    openPicker.suggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.picturesLibrary;
    openPicker.fileTypeFilter.replaceAll([".gif"]);

    // Set up the stream.
    var loadStream = null;

    // Asynchronously load the ink data from the stream.
    openPicker.pickSingleFileAsync().done(
        function (file)
        {
            if (null != file)
            {
                file.openAsync(Windows.Storage.FileAccessMode.read).then(
                    function (stream) {
                        loadStream = stream;
                        return inkManager.loadAsync(loadStream);
                    }).done(
                        function()
                        {
                            var strokes = inkManager.getStrokes().length;
                            if (strokes === 0)
                            {
                                statusMessage.innerText = "No strokes in file.";
                            }
                            else
                            {
                                statusMessage.innerText = strokes + " strokes loaded.";
                            }
                            renderAllStrokes();
                            loadStream.close();
                        },
                        function (e)
                        {
                            statusMessage.innerText = "Load failed.";
                            if (loadStream)
                            {
                                // Close the stream if open.
                                loadStream.close();
                            }
                        });
            }
        });
}

備註

將中繼資料內嵌至圖形交換格式 (GIF) 檔案,可讓筆跡在未啟用筆跡的應用程式中檢視,同時維持啟用筆跡功能之應用程式的完整精確度。 此格式非常適合用於傳輸 HTML 檔案內的筆跡內容,並讓筆跡和非筆跡應用程式都能使用。

注意

筆跡序列化格式 (ISF) 是最精簡的筆墨持續性標記法。 它可以內嵌在二進位檔案格式內,或直接放在剪貼簿上,同時保留各種筆跡屬性,例如壓力、寬度、色彩、傾斜、扭曲等等。

適用於

另請參閱