C# 在Direct2D中,选择/拾取应该如何工作?

C# 在Direct2D中,选择/拾取应该如何工作?,c#,.net-4.0,c++-cli,direct2d,C#,.net 4.0,C++ Cli,Direct2d,出于性能原因,我想将我的C#应用程序从GDI+移动到Direct2D(C++/CLI包装器)。但是,我不知道如何解决拣选部分。我有一些可以移动的形状和图像。目前,我大部分时间都使用GraphicsPath.IsVisible。您知道Direct2D中的等价物是什么吗?实现ID2D1Geometry的形状方法的FillContainsPoint或StrokeContainsPoint可能适合您: -指示几何图形填充的区域是否包含指定的点 -确定几何体的笔划是否包含指定的点 我是从网上找到的。你

出于性能原因,我想将我的C#应用程序从GDI+移动到Direct2D(C++/CLI包装器)。但是,我不知道如何解决拣选部分。我有一些可以移动的形状和图像。目前,我大部分时间都使用GraphicsPath.IsVisible。您知道Direct2D中的等价物是什么吗?

实现
ID2D1Geometry
的形状方法的
FillContainsPoint
StrokeContainsPoint
可能适合您:

  • -指示几何图形填充的区域是否包含指定的点
  • -确定几何体的笔划是否包含指定的点

我是从网上找到的。

你说的“挑选”是指“命中测试”吗?是的,类似的。我不知道什么适用于Direct2D。在GDI+中,您通常使用Rectangle.Contains或GraphicsPath.IsVisible。(我从未使用过Direct2D,但这些是我看到的第一件看起来很有希望的事情)就是这样!谢谢你的努力。我读了好几个小时的MSDN,以便能够开始编写任何代码,但我没有遇到ID2D1Geometry接口;这甚至是第一个结果。一直以来,我都在寻找挑选的方法,但没有得到任何有用的结果。