Share via


Método IInkRenderer::Measure (msinkaut.h)

Calcula o retângulo no contexto do dispositivo que conteria uma coleção de traços se os traços fossem desenhados com o objeto InkRenderer usando o método DrawStroke .

Sintaxe

HRESULT Measure(
  [in]          IInkStrokes   *Strokes,
  [out, retval] IInkRectangle **Rectangle
);

Parâmetros

[in] Strokes

A coleção de traços a serem medidos.

[out, retval] Rectangle

Quando esse método retorna, contém um ponteiro para o retângulo no contexto do dispositivo que conteria os traços se fossem desenhados com o método DrawStroke do objeto InkRenderer . Os traços devem conter coordenadas x e y para calcular o retângulo. Caso contrário, o método retorna um retângulo vazio.

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_INVALIDARG
Identificador de exibição inválido.
E_INK_INCOMPATIBLE_OBJECT
O parâmetro strokes não aponta para um objeto válido.
E_INK_MISMATCHED_INK_OBJECT
O parâmetro strokes está associado a um objeto InkDisp diferente.
E_INK_EXCEPTION
Ocorreu uma exceção dentro do método .
E_UNEXPECTED
Parâmetro inesperado ou tipo de propriedade.

Comentários

Isso só será preciso se você passar os mesmos argumentos para Measure e DrawStroke.

Como a caixa delimitadora é afetada pela largura da caneta, essa largura é dimensionada adequadamente para a transformação de exibição do InkRenderer. Para fazer isso, a largura da caneta é multiplicada pela raiz quadrada do determinante da transformação de exibição. A altura e a largura da caixa delimitadora são expandidas pela metade dessa quantidade em cada direção e os lados direito e inferior são incrementados por um.

Por exemplo, considere que a largura da caneta é originalmente 53, a raiz quadrada do determinante da transformação de exibição é 50 e a caixa delimitadora é (0, 0, 1000, 1000). O ajuste de largura da caneta para a caixa delimitadora em cada direção é calculado como (53 * 50) / 2, e os lados direito e inferior são incrementados por um. Isso resulta em uma caixa delimitadora renderizada de (-1325, -1325, 2326, 2326).

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

Método Draw [Classe InkRenderer]

Iinkrenderer

IInkStrokeDisp Interface

Classe InkRenderer

Método MeasureStroke