Método IInkDisp::Save (msinkaut.h)

Converte a tinta no InkPersistenceFormat especificado, salva a tinta usando o InkPersistenceCompressionMode especificado e retorna os dados binários em uma matriz de bytes.

Sintaxe

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

Parâmetros

[in, optional] PersistenceFormat

Opcional. Define um dos valores InkPersistenceFormat que indica o formato da tinta persistente. O valor padrão é InkSerializedFormat.

Nome Descrição
InkSerializedFormat
A tinta é mantida usando o ISF (formato serializado à tinta).

Essa é a representação mais compacta e persistente de tinta. Ela pode ser inserida em um formato de documento binário ou colocada diretamente na Área de Transferência. Esse é o valor padrão.

Base64InkSerializedFormat
A tinta é persistida codificando o ISF como um fluxo base64.

Esse formato é fornecido para que a tinta possa ser codificada diretamente em um arquivo XML (Extensible Markup Language) ou HTML.

Gif
A tinta é persistida usando um arquivo GIF (Graphics Interchange Format) que contém ISF como metadados inseridos no arquivo.

Isso permite que a tinta seja exibida em aplicativos que não estão habilitados para tinta e mantenham sua fidelidade total à tinta quando ela retorna a um aplicativo habilitado para tinta. Esse formato é ideal ao transportar conteúdo de tinta em um arquivo HTML e torná-lo utilizável por aplicativos habilitados para tinta e sem tinta.

Base64Gif
A tinta é persistida usando um fortificado codificado em base64.

Esse GIFformat é fornecido quando a tinta deve ser codificada diretamente em um arquivo XML ou HTML com conversão posterior em uma imagem. Um possível uso disso seria em um formato XML que é gerado para conter todas as informações de tinta e usado como uma maneira de gerar HTML por meio de XSLT (Extensible Stylesheet Language Transformations).

[in, optional] CompressionMode

Opcional. Um dos valores InkPersistenceCompressionMode que especifica o modo de compactação da tinta persistente. O valor padrão é IPCM_Default.

Nome Descrição
IPCM_Default
É usado quando a melhor compensação entre o tempo de salvamento e o armazenamento para o aplicativo típico é necessária.
IPCM_MaximumCompression
É usado quando minimizar o espaço de armazenamento é mais importante do que a rapidez com que a tinta é salva.
IPCM_NoCompression
É usado quando o tempo de salvamento é mais importante do que a quantidade de espaço de armazenamento usado e quando a compatibilidade entre as versões é importante.

[out, retval] Data

Quando este método retorna, contém a matriz de bytes que contém a tinta persistente.

Para obter mais informações sobre a estrutura VARIANT, consulte Usando a biblioteca COM.

Retornar valor

Esse método pode retornar um desses valores.

Código de retorno Descrição
S_OK
Êxito.
E_POINTER
Um parâmetro continha um ponteiro inválido.
E_INK_EXCEPTION
Ocorreu uma exceção dentro do método .
E_INVALIDARG
Modo de compactação inválido.
E_OUTOFMEMORY
Não é possível alocar a matriz de bytes.
E_UNEXPECTED
Ocorrerá se você tentar salvar um objeto Ink vazio no formato GIF.

Comentários

Tentar salvar um objeto InkDisp vazio no formato GIF gera um erro.

Nota Ao chamar o método Save com um valor InkPersistenceFormat de Base64InkSerializedFormat, o valor retornado é uma matriz de bytes terminada em NULL . Para gravar a tinta salva em um arquivo XML, primeiro remova o último byte da matriz antes de converter a matriz em uma cadeia de caracteres codificada em UTF-8 (Formato de Transformação Unicode) de 8 bits.
 

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP Tablet PC Edition [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Nenhum compatível
Plataforma de Destino Windows
Cabeçalho msinkaut.h
Biblioteca InkObj.dll

Confira também

Iinkdisp

Classe InkDisp

Enumeração InkPersistenceCompressionMode

Enumeração InkPersistenceFormat

Método Load