다음을 통해 공유


IInkRenderer::Measure 메서드(msinkaut.h)

DrawStroke 메서드를 사용하여 InkRenderer 개체로 스트로크를 그린 경우 스트로크 컬렉션을 포함하는 디바이스 컨텍스트의 사각형을 계산합니다.

구문

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

매개 변수

[in] Strokes

측정할 스트로크의 컬렉션입니다.

[out, retval] Rectangle

이 메서드가 반환될 때 InkRenderer 개체의 DrawStroke 메서드로 그린 경우 스트로크를 포함하는 디바이스 컨텍스트의 사각형에 대한 포인터를 포함합니다. 스트로크는 사각형을 계산하기 위해 x 및 y 좌표를 포함해야 합니다. 그렇지 않으면 메서드는 빈 사각형을 반환합니다.

반환 값

이 메서드는 이러한 값 중 하나를 반환할 수 있습니다.

반환 코드 Description
S_OK
성공.
E_POINTER
매개 변수에 잘못된 포인터가 포함되어 있습니다.
E_INVALIDARG
잘못된 표시 핸들입니다.
E_INK_INCOMPATIBLE_OBJECT
strokes 매개 변수는 유효한 개체를 가리키지 않습니다.
E_INK_MISMATCHED_INK_OBJECT
strokes 매개 변수는 다른 InkDisp 개체와 연결됩니다.
E_INK_EXCEPTION
메서드 내에서 예외가 발생했습니다.
E_UNEXPECTED
예기치 않은 매개 변수 또는 속성 형식입니다.

설명

이는 MeasureDrawStroke 모두에 동일한 인수를 전달하는 경우에만 정확합니다.

경계 상자는 펜 너비의 영향을 받으므로 이 너비는 InkRenderer의 뷰 변환에 맞게 적절하게 조정됩니다. 이렇게 하려면 펜 너비에 뷰 변환 결정자의 제곱근을 곱합니다. 경계 상자의 높이와 너비는 각 방향에서 이 양의 절반으로 확장되고 오른쪽과 아래쪽 측면은 1씩 증가합니다.

예를 들어 펜 너비가 원래 53이고 뷰 변환 결정자의 제곱근이 50이고 경계 상자가 (0, 0, 1000, 1000)인 것을 고려합니다. 각 방향의 경계 상자에 대한 펜 너비 조정은 (53 * 50) / 2로 계산되고 오른쪽과 아래쪽 측면은 1씩 증가합니다. 그러면 렌더링된 경계 상자(-1325, -1325, 2326, 2326)가 생성됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP 태블릿 PC 버전 [데스크톱 앱만 해당]
지원되는 최소 서버 지원되는 버전 없음
대상 플랫폼 Windows
헤더 msinkaut.h
라이브러리 InkObj.dll

추가 정보

Draw 메서드 [InkRenderer 클래스]

IInkRenderer

IInkStrokeDisp 인터페이스

InkRenderer 클래스

MeasureStroke 메서드