Share via


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

Calcula el rectángulo en el contexto del dispositivo que contendría una colección de trazos si los trazos se dibujaran con el objeto InkRenderer mediante el método DrawStroke .

Sintaxis

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

Parámetros

[in] Strokes

Colección de trazos que se van a medir.

[out, retval] Rectangle

Cuando este método vuelve, contiene un puntero al rectángulo en el contexto del dispositivo que contendría los trazos si se dibujaran con el método DrawStroke del objeto InkRenderer . Los trazos deben contener coordenadas x e y para calcular el rectángulo. De lo contrario, el método devuelve un rectángulo vacío.

Valor devuelto

Este método puede devolver uno de estos valores.

Código devuelto Descripción
S_OK
Correcto.
E_POINTER
Un parámetro contenía un puntero no válido.
E_INVALIDARG
Identificador de pantalla no válido.
E_INK_INCOMPATIBLE_OBJECT
El parámetro strokes no apunta a un objeto válido.
E_INK_MISMATCHED_INK_OBJECT
El parámetro strokes está asociado a un objeto InkDisp diferente.
E_INK_EXCEPTION
Se produjo una excepción dentro del método .
E_UNEXPECTED
Tipo de propiedad o parámetro inesperado.

Comentarios

Esto es preciso solo si se pasan los mismos argumentos a Measure y DrawStroke.

Dado que el rectángulo delimitador se ve afectado por el ancho del lápiz, este ancho se escala adecuadamente para la transformación de vista de InkRenderer. Para ello, el ancho del lápiz se multiplica por la raíz cuadrada del determinante de la transformación de vista. El alto y el ancho del rectángulo delimitador se expanden por la mitad de esta cantidad en cada dirección y los lados derecho e inferior se incrementan en uno.

Por ejemplo, considere que el ancho del lápiz es originalmente 53, la raíz cuadrada del determinante de la transformación de vista es 50 y el cuadro de límite es (0, 0, 1000, 1000). El ajuste del ancho del lápiz en el rectángulo delimitador en cada dirección se calcula como (53 * 50) / 2, y los lados derecho e inferior se incrementan en uno. Esto da como resultado un rectángulo delimitador representado de (-1325, -1325, 2326, 2326).

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP Tablet PC Edition [solo aplicaciones de escritorio]
Servidor mínimo compatible No se admite ninguno
Plataforma de destino Windows
Encabezado msinkaut.h
Library InkObj.dll

Consulte también

Método Draw [Clase InkRenderer]

IInkRenderer

IInkStrokeDisp (Interfaz)

Clase InkRenderer

MeasureStroke (método)