ID2D1TessellationSink 接口概述:
ID2D1TessellationSink 接口是 Direct2D 中用于定义图元(通常是路径)填充轮廓的接口。通过这个接口,你可以将路径的轮廓信息传递给 Direct2D 来进行填充操作。
头文件:
#include <d2d1.h>
基本结构:
struct ID2D1TessellationSink : public IUnknown
常用方法:
1. AddTriangles(const D2D1_TRIANGLE *triangles, UINT32 trianglesCount):
- 描述:添加三角形信息到填充轮廓。
- 参数:triangles - 一个包含三角形顶点信息的数组,trianglesCount - 数组的长度。
2. Close():
- 描述:关闭填充轮廓,表示图元的轮廓信息已经全部传递。
示例用法:
// 创建ID2D1TessellationSink实例
ID2D1TessellationSink* tessellationSink = nullptr;
HRESULT hr = d2dFactory->CreateTessellationSink(nullptr, &tessellationSink);
if (SUCCEEDED(hr)) {
// 添加三角形信息到填充轮廓
D2D1_TRIANGLE triangles[] = {
{ {0.0f, 0.0f}, {100.0f, 0.0f}, {50.0f, 100.0f} },
// Add more triangles as needed
};
UINT32 trianglesCount = 1; // Number of triangles in the array
tessellationSink->AddTriangles(triangles, trianglesCount);
// 关闭填充轮廓
tessellationSink->Close();
// 释放资源
tessellationSink->Release();
}
在实际应用中,你需要根据具体的需求调用 AddTriangles 方法添加图元的轮廓信息,并最终通过 Close 方法表示填充轮廓的传递结束。这通常用于创建自定义的填充模式或渐变效果。
转载请注明出处:http://www.zyzy.cn/article/detail/25280/Win32 API/D2d1.h/ID2D1TessellationSink