首页 > 解决方案 > 如何在 Direct2d 中从另一个 PathGeometry 中排除一个 PathGeometry?CombineWithGeometry 排除模式在组合 PathGeometry 时无法正常工作

问题描述

我试图从另一条贝塞尔曲线中排除一条贝塞尔曲线,但这只会使我的线条更宽。这是代码:

 ComPtr<ID2D1GeometrySink> pGeometrySink = nullptr;
 ComPtr<ID2D1PathGeometry> pathGeometry;

 DX::ThrowIfFailed(drawingContext->GetD2Factory()->CreatePathGeometry(&pathGeometry));
 DX::ThrowIfFailed(pathGeometry->Open(&pGeometrySink));
 path1->CombineWithGeometry(path2.Get(), D2D1_COMBINE_MODE_EXCLUDE,NULL,NULL, pGeometrySink.Get());
 pGeometrySink->Close();
 return pathGeometry;

还有另一种方法吗?

标签: directxdirectx-11direct2d

解决方案


推荐阅读