ID2D1Geometry::Tessellate 方法

在使用指定的矩形转换和使用指定的容差平展几何图形后,创建一组覆盖该几何图形的顺时针方向的三角形。

重载列表

方法 说明
Tessellate (D2D1_MATRIX_3X2_F*,ID2D1TessellationSink*) 创建一组顺时针三角形,这些三角形在使用指定矩阵进行转换并使用默认容差平展后覆盖几何图形。
Tessellate (D2D1_MATRIX_3X2_F&,ID2D1TessellationSink*) 创建一组顺时针三角形,这些三角形在使用指定矩阵进行转换并使用默认容差平展后覆盖几何图形。
Tessellate (D2D1_MATRIX_3X2_F*,FLOAT,ID2D1TessellationSink*) 在使用指定的矩形转换和使用指定的容差平展几何图形后,创建一组覆盖该几何图形的顺时针方向的三角形。
Tessellate (D2D1_MATRIX_3X2_F&,FLOAT,ID2D1TessellationSink*) 在使用指定的矩形转换和使用指定的容差平展几何图形后,创建一组覆盖该几何图形的顺时针方向的三角形。

示例

下面的代码示例演示如何使用 Tessellate 创建一组覆盖几何图形的顺时针三角形。

 ID2D1GeometrySink *pGeometrySink = NULL;
 hr = pPathGeometry->Open(&pGeometrySink);
 if (SUCCEEDED(hr))
 {
     hr = pGeometry->Widen(
             strokeWidth,
             pIStrokeStyle,
             pWorldTransform,
             pGeometrySink
             );

     if (SUCCEEDED(hr))
     {
         hr = pGeometrySink->Close();
         if (SUCCEEDED(hr))
         {
             ID2D1Mesh *pMesh = NULL;
             hr = m_pRT->CreateMesh(&pMesh);
             if (SUCCEEDED(hr))
             {
                 ID2D1TessellationSink *pSink = NULL;
                 hr = pMesh->Open(&pSink);
                 if (SUCCEEDED(hr))
                 {
                     hr = pPathGeometry->Tessellate(
                             NULL, // world transform (already handled in Widen)
                             pSink
                             );
                     if (SUCCEEDED(hr))
                     {
                         hr = pSink->Close();
                         if (SUCCEEDED(hr))
                         {
                             SafeReplace(&m_pStrokeMesh, pMesh);
                         }
                     }
                     pSink->Release();
                 }
                 pMesh->Release();
             }
         }
     }
     pGeometrySink->Release();
 }
 pPathGeometry->Release();

要求

要求

D2d1.lib
DLL
D2d1.dll

请参阅

ID2D1Geometry