Condividi tramite


Metodo IInkRenderer::MeasureStroke (msinkaut.h)

Calcola il rettangolo nel contesto di dispositivo che conterrà un tratto se fosse stato disegnato con l'oggetto InkRenderer usando il metodo DrawStroke .

Sintassi

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

Parametri

[in] Stroke

Tratto da misurare.

[in, optional] DrawingAttributes

facoltativo. InkDrawingAttributes da utilizzare per il calcolo del rettangolo, che esegue l'override degli attributi di disegno sul tratto. Il valore predefinito è NULL, ovvero il tratto viene misurato usando i propri attributi di disegno.

[out, retval] Rectangle

Quando termina, questo metodo contiene un puntatore al rettangolo nel contesto del dispositivo che conterrà il tratto se il tratto fosse stato disegnato con il metodo DrawStroke dell'oggetto InkRenderer . Il tratto deve contenere coordinate x e y per calcolare il rettangolo. In caso contrario, il metodo restituisce un rettangolo vuoto.

Valore restituito

Questo metodo può restituire uno di questi valori.

Codice restituito Descrizione
S_OK
Operazione completata.
REGDB_E_CLASSNOTREG
L'oggetto InkRectangle non è registrato nel sistema.
E_INK_INCOMPATIBLE_OBJECT

IInkStrokeDisp non punta a un oggetto InkDisp compatibile o drawingAttributes è un parametro di input non valido.

E_INK_EXCEPTION
Si è verificata un'eccezione all'interno del metodo .
E_POINTER
Un parametro contiene un puntatore non valido.
E_INVALIDARG
Handle di visualizzazione non valido.
E_UNEXPECTED
Parametro o tipo di proprietà imprevisto.

Commenti

Questa operazione è accurata solo se si passano gli stessi argomenti sia a MeasureStroke che a DrawStroke.

Poiché il rettangolo di selezione è influenzato dalla larghezza della penna, questa larghezza viene ridimensionata in modo appropriato per la trasformazione di visualizzazione di InkRenderer. A tale scopo, la larghezza della penna viene moltiplicata per la radice quadrata del determinante della trasformazione di visualizzazione. L'altezza e la larghezza del rettangolo di selezione vengono espanse di metà di questa quantità in ogni direzione e i lati destro e inferiore vengono incrementati di uno.

Si consideri ad esempio che la larghezza della penna è originariamente 53, la radice quadrata del determinante della trasformazione di visualizzazione è 50 e il rettangolo di selezione è (0, 0, 1000, 1000). La regolazione della larghezza della penna per il rettangolo di selezione in ogni direzione viene calcolata come (53 * 50) / 2 e i lati destro e inferiore vengono incrementati di uno. Il risultato è un rettangolo delimitatore di cui è stato eseguito il rendering (-1325, -1325, 2326, 2326).

Requisiti

Requisito Valore
Client minimo supportato Windows XP Tablet PC Edition [solo app desktop]
Server minimo supportato Nessuno supportato
Piattaforma di destinazione Windows
Intestazione msinkaut.h
Libreria InkObj.dll

Vedi anche

Metodo Draw [Classe InkRenderer]

DrawStroke, metodo

IInkRenderer

Interfaccia IInkStrokeDisp

Classe InkRenderer

Measure, metodo