InkManager.LoadAsync(IInputStream) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Примечание
Для универсальных приложений для Windows, использующих xaml, рекомендуется использовать InkPresenter и элемент управления InkCanvas вместо InkManager.
Асинхронно загружает все объекты InkStroke из указанного потока в коллекцию InkStroke , которая управляется InkManager.
Данные рукописного ввода сериализуются как метаданные 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).
Возвращаемое значение
Состояние асинхронной операции как количество извлекаемых байтов. Дополнительные сведения см. в разделе Метод ReadAsync .
Реализации
- Атрибуты
Примеры
Функция loadStrokes
в этом примере демонстрирует, как:
- Отображение экрана открытия файла, на котором тип файла ограничен форматом GIF с помощью объекта FileOpenPicker .
- Настройте входной поток с помощью метода OpenAsync .
- Используйте метод LoadAsync объекта InkManager (
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) — это наиболее компактное постоянное представление рукописного ввода. Его можно внедрить в двоичный формат документа или поместить непосредственно в буфер обмена с сохранением различных свойств рукописного ввода, таких как давление, ширина, цвет, наклон, поворот и т. д.
Применяется к
См. также раздел
- Взаимодействие с помощью пера
- Начало работы: поддержка рукописного ввода в приложении UWP
- Пример анализа рукописного ввода (базовый) (C#)
- Пример распознавания рукописного ввода (C#)
- Сохранение и загрузка росчерков пера из файла Ink Serialized Format (ISF)
- Сохранение и загрузка росчерков пера из буфера обмена
- Пример расположения и ориентации панели инструментов рукописного ввода (базовый)
- Пример расположения и ориентации панели инструментов рукописного ввода (динамичный)
- Пример раскраски
- Пример семейных заметок
- Пример рукописного ввода (JavaScript)
- Пример простого рукописного ввода (C#/C++)
- Пример сложного рукописного ввода (C++)
- Пример анализа рукописного ввода