首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Direct2D中获取路径几何的线段?

如何在Direct2D中获取路径几何的线段?
EN

Stack Overflow用户
提问于 2012-09-22 10:58:38
回答 3查看 1.7K关注 0票数 0

下图显示了Direct2D中的路径几何图形,它包含5个线段,每个线段都是一条直线,我的要求是,给定这样一个坡度,我想得到所有的5条线。

但是似乎没有相关的接口可以在Direct2D中获取路径几何的线段,我看到ID2D1PathGeometry接口提供了一个方法GetSegmentCount,如果我们不能获取线段,为什么微软提供这种方法呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-09 02:24:22

您可以使用ID2D1PathGeometry::Stream()来实现这一点。您必须编写一个实现ID2D1GeometrySink的类。你可能会发现,在广义上实现它是很有用的,这样它就可以输出一个对象树,而不是寻找你现在需要的确切数据。如果需要使用哪种类型的对象模型的示例,只需查看WPF的System.Windows.Media.Geometry ( http://msdn.microsoft.com/en-us/library/system.windows.media.geometry.aspx )即可。

您还可以轻松地将这些类转换回ID2D1PathGeometry,并在任何情况下使用最合适或最合适的类。我已经编写了这两个转换,一旦我意识到它们使用的是相同的“语言”,我发现它非常简单。我特别发现它有助于理清我对“数字”和“细分”之间的区别的理解。

票数 1
EN

Stack Overflow用户

发布于 2012-12-15 04:56:06

如果您有PathGeometry,则使用PathGeometry::Stream()比较好。

但是,如果您有一个基本几何体,并且您想要完成相同的操作,则可以执行以下操作:

geometry geometry::PathGeometry

  • Use实现您自己的组合,以将几何体与空几何体合并(并集),以“捕捉”空几何体::

结果将保存在您的GeometrySink中。

票数 1
EN

Stack Overflow用户

发布于 2012-12-16 04:35:18

实现一个名为SpecializedSink的类,该类继承自ID2D1SimplifiedGeometrySink接口(由ID2D1Geometry::Simplify调用以检索几何图形数据的扩展AddLines方法)。

建议您通过扩展ID2D1SimplifiedGeometrySink来阅读example for retrieve data from geometry

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12540323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档