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);
}
要件
要件 | 値 |
---|---|
ライブラリ |
|
[DLL] |
|