Partager via


MÉTHODES ID2D1Geometry::ComputeLength

Calcule la longueur de la géométrie comme si chaque segment avait été déployé dans une ligne.

Liste de surcharge

Méthode Description
ComputeLength(D2D1_MATRIX_3X2_F,FLOAT&*) Calcule la longueur de la géométrie comme si chaque segment avait été déployé dans une ligne.
ComputeLength(D2D1_MATRIX_3X2_F*,FLOAT*) Calcule la longueur de la géométrie comme si chaque segment avait été déployé dans une ligne.
ComputeLength(D2D1_MATRIX_3X2_F,FLOAT,FLOAT&*) Calcule la longueur de la géométrie comme si chaque segment avait été déployé dans une ligne.
ComputeLength(D2D1_MATRIX_3X2_F*,FLOAT,FLOAT*) Calcule la longueur de la géométrie comme si chaque segment avait été déployé dans une ligne.

Exemples

Le code suivant montre comment utiliser ComputeLength pour calculer la longueur d’une géométrie de chemin d’accès spécifiée.

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);
}

Spécifications

Condition requise Valeur
Bibliothèque
D2d1.lib
DLL
D2d1.dll

Voir aussi

ID2D1Geometry