Compartir a través de


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

Calcula el rectángulo en el contexto del dispositivo que contendrá un trazo si se dibujara con el objeto InkRenderer mediante el método DrawStroke .

Sintaxis

HRESULT MeasureStroke(
  [in]           IInkStrokeDisp        *Stroke,
  [in, optional] IInkDrawingAttributes *DrawingAttributes,
  [out, retval]  IInkRectangle         **Rectangle
);

Parámetros

[in] Stroke

Trazo que se va a medir.

[in, optional] DrawingAttributes

Opcional. InkDrawingAttributes que se van a usar al calcular el rectángulo, que invalida los atributos de dibujo en el trazo. El valor predeterminado es NULL, lo que significa que el trazo se mide mediante sus propios atributos de dibujo.

[out, retval] Rectangle

Cuando este método vuelve, contiene un puntero al rectángulo en el contexto del dispositivo que contendrá el trazo si el trazo se dibujara con el método DrawStroke del objeto InkRenderer . El trazo debe 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.
REGDB_E_CLASSNOTREG
El objeto InkRectangle no está registrado en el sistema.
E_INK_INCOMPATIBLE_OBJECT

IInkStrokeDisp no apunta a un objeto InkDisp compatible o drawingAttributes es un parámetro de entrada no válido.

E_INK_EXCEPTION
Se produjo una excepción dentro del método .
E_POINTER
Un parámetro contenía un puntero no válido.
E_INVALIDARG
Identificador de pantalla no válido.
E_UNEXPECTED
Parámetro o tipo de propiedad inesperados.

Comentarios

Esto solo es preciso si pasa los mismos argumentos a MeasureStroke y DrawStroke.

Dado que el cuadro de límite 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 cuadro de límite 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]

DrawStroke (método)

IInkRenderer

IInkStrokeDisp (Interfaz)

InkRenderer (clase)

Measure (método)