Метод IInkDisp::Save (msinkaut.h)

Преобразует рукописный ввод в указанный формат InkPersistenceFormat, сохраняет рукописный ввод с помощью указанного объекта InkPersistenceCompressionMode и возвращает двоичные данные в массиве байтов.

Синтаксис

HRESULT Save(
  [in, optional] InkPersistenceFormat          PersistenceFormat,
  [in, optional] InkPersistenceCompressionMode CompressionMode,
  [out, retval]  VARIANT                       *Data
);

Параметры

[in, optional] PersistenceFormat

Необязательный параметр. Задает одно из значений InkPersistenceFormat , указывающее формат сохраняемого рукописного ввода. Значение по умолчанию — InkSerializedFormat.

Имя Описание
InkSerializedFormat
Рукописный ввод сохраняется в сериализованном формате рукописного ввода (ISF).

Формат ISF — наиболее компактное постоянное представление рукописного ввода. Он может быть встроен в двоичный формат документа или помещен непосредственно в буфер обмена. Это значение по умолчанию.

Формат Base64InkSerializedFormat
Рукописный ввод сохраняется путем кодирования ISF в виде потока base64.

Этот формат предоставляется для того, чтобы рукописный ввод можно было кодировать непосредственно в XML-файле или HTML-файле.

Gif
Рукописный ввод сохраняется с помощью GIF-файла, который содержит ISF в качестве метаданных, внедренных в файл.

Это позволяет просматривать рукописные фрагменты в приложениях, которые не поддерживают рукописный ввод, и сохранять его полную точность при возврате в приложение с поддержкой рукописного ввода. Этот формат идеально подходит для передачи рукописного содержимого в HTML-файле и его использования приложениями с поддержкой рукописного ввода и без рукописного ввода.

Формат Base64Gif
Рукописный ввод сохраняется с помощью укрепленного файла в кодировке Base64.

Этот формат GIFformat предоставляется при кодировании рукописного ввода непосредственно в XML- или HTML-файле с последующим преобразованием в изображение. Это можно использовать в формате XML, который создается для хранения всех рукописных данных и используется в качестве способа создания HTML-кода с помощью XSLT.

[in, optional] CompressionMode

Необязательный элемент. Одно из значений InkPersistenceCompressionMode , указывающее режим сжатия сохраняемого рукописного ввода. Значение по умолчанию — IPCM_Default.

Имя Описание
IPCM_Default
Используется, когда требуется оптимальный компромисс между экономией времени и хранилищем для типичного приложения.
IPCM_MaximumCompression
Используется, когда минимизация дискового пространства важнее, чем скорость сохранения рукописного ввода.
IPCM_NoCompression
Используется, когда экономия времени важнее, чем объем используемого дискового пространства и когда важна совместимость между версиями.

[out, retval] Data

При возврате этого метода содержит массив байтов, содержащий сохраненный рукописный фрагмент.

Дополнительные сведения о структуре VARIANT см. в разделе Использование библиотеки COM.

Возвращаемое значение

Этот метод может возвращать одно из этих значений.

Код возврата Описание
S_OK
Успешно.
E_POINTER
Параметр содержал недопустимый указатель.
E_INK_EXCEPTION
В методе произошло исключение.
E_INVALIDARG
Недопустимый режим сжатия.
E_OUTOFMEMORY
Не удается выделить массив байтов.
E_UNEXPECTED
Происходит при попытке сохранить пустой объект Ink в формате GIF.

Комментарии

Попытка сохранить пустой объект InkDisp в формате GIF приводит к ошибке.

Примечание При вызове метода Save со значением InkPersistenceFormatBase64InkSerializedFormat возвращается массив байтов, завершающийся null . Чтобы записать сохраненный рукописный фрагмент в XML-файл, сначала удалите последний байт из массива перед преобразованием массива в строку в кодировке UTF-8.
 

Требования

Требование Значение
Минимальная версия клиента Windows XP Tablet PC Edition [только классические приложения]
Минимальная версия сервера Ни одна версия не поддерживается
Целевая платформа Windows
Header msinkaut.h
Библиотека InkObj.dll

См. также раздел

IInkDisp

Класс InkDisp

Перечисление InkPersistenceCompressionMode

Перечисление InkPersistenceFormat

Метод Load