다음을 통해 공유


ID2D1Geometry::ComputeLength 메서드

각 세그먼트가 선으로 언롤된 것처럼 기하 도형의 길이를 계산합니다.

오버로드 목록

메서드 설명
ComputeLength(D2D1_MATRIX_3X2_F&,FLOAT*) 각 세그먼트가 선으로 언롤된 것처럼 기하 도형의 길이를 계산합니다.
ComputeLength(D2D1_MATRIX_3X2_F*,FLOAT*) 각 세그먼트가 선으로 언롤된 것처럼 기하 도형의 길이를 계산합니다.
ComputeLength(D2D1_MATRIX_3X2_F&,FLOAT,FLOAT*) 각 세그먼트가 선으로 언롤된 것처럼 기하 도형의 길이를 계산합니다.
ComputeLength(D2D1_MATRIX_3X2_F*,FLOAT,FLOAT*) 각 세그먼트가 선으로 언롤된 것처럼 기하 도형의 길이를 계산합니다.

예제

다음 코드에서는 ComputeLength를 사용하여 지정된 경로 기하 도형의 길이를 계산하는 방법을 보여줍니다.

float length = 0;
hr = m_pPathGeometry->ComputeLength(
    NULL, //no transform
    &length
    );

if (SUCCEEDED(hr))
{
    m_Animation.SetStart(0);        //start at beginning of path
    m_Animation.SetEnd(length);     //length at end of path
    m_Animation.SetDuration(5.0f);  //seconds

    ZeroMemory(&m_DwmTimingInfo, sizeof(m_DwmTimingInfo));
    m_DwmTimingInfo.cbSize = sizeof(m_DwmTimingInfo);

    // Get the composition refresh rate. If the DWM isn't running,
    // get the refresh rate from GDI -- probably going to be 60Hz
    if (FAILED(DwmGetCompositionTimingInfo(NULL, &m_DwmTimingInfo)))
    {
        HDC hdc = GetDC(m_hwnd);
        m_DwmTimingInfo.rateCompose.uiDenominator = 1;
        m_DwmTimingInfo.rateCompose.uiNumerator = GetDeviceCaps(hdc, VREFRESH);
        ReleaseDC(m_hwnd, hdc);
    }

    ShowWindow(m_hwnd, SW_SHOWNORMAL);

    UpdateWindow(m_hwnd);
}

요구 사항

요구 사항
라이브러리
D2d1.lib
DLL
D2d1.dll

참고 항목

ID2D1Geometry