Condividi tramite


Metodi ID2D1Geometry::ComputeLength

Calcola la lunghezza della geometria come se ogni segmento fosse stato decomilato in una linea.

Elenco di overload

metodo Descrizione
ComputeLength(D2D1_MATRIX_3X2_F&,FLOAT*) Calcola la lunghezza della geometria come se ogni segmento fosse stato decomilato in una linea.
ComputeLength(D2D1_MATRIX_3X2_F*,FLOAT*) Calcola la lunghezza della geometria come se ogni segmento fosse stato decomilato in una linea.
ComputeLength(D2D1_MATRIX_3X2_F&,FLOAT,FLOAT*) Calcola la lunghezza della geometria come se ogni segmento fosse stato decomilato in una linea.
ComputeLength(D2D1_MATRIX_3X2_F*,FLOAT,FLOAT*) Calcola la lunghezza della geometria come se ogni segmento fosse stato decomilato in una linea.

Esempi

Il codice seguente illustra come usare ComputeLength per calcolare la lunghezza di una geometria di percorso specificata.

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

Requisiti

Requisito Valore
Libreria
D2d1.lib
DLL
D2d1.dll

Vedi anche

ID2D1Geometry