问题标签 [pathgeometry]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
844 浏览

wpf - 将未关闭的 PathGeometry 填充到底部

假设我有PathGeometry,由线条组成,像这样(矩形==面板,例如Grid): 例子 我想将它们填充到面板的底部,如下所示: 在此处输入图像描述 我看到的快速但不是很好的解决方案是创建额外的曲线底部有 2 个附加点,用于填充。

有没有更好的方法来解决这个任务?像这样的东西(伪代码):

0 投票
1 回答
402 浏览

directx - 从 ID2D1PathGeometry 检索路径段

我目前正在尝试使用 SlimDX 在 C# 中编写一个小游戏引擎,只是为了好玩。

我希望我的世界是可破坏的,所以我必须能够修改我的地图。我的地图目前是基于矢量的,由ID2D1PathGeometry(SlimDX 中的 PathGeometry)对象表示。使用ID2D1Geometry(SlimDX中的几何)的 CombineWithGeometry 方法修改此对象。

为了进行合理的碰撞检测,我需要了解我的 ID2D1PathGeometry 对象的确切形状,例如计算球在墙壁上弹跳的角度。

那么,是否可以访问我的 ID2D1PathGeometry 对象的所有或特定(每个位置)段/线/点?还是有其他更好的方法来实现我的目标,例如将所有线条和形状额外存储在另一个数据结构中?

请注意,基于位图的地图不是这里的方法,因为我不想将内存作为地图大小的限制。

最好的问候, Emi

0 投票
3 回答
7448 浏览

wpf - 定位 WPF 路径,使其原点位于其容器的底部、中心

我正在尝试使 a 居中Path,使其原点 (0, 0) 位于其容器的底部中心。假设容器是一个Grid.


例子:

箭头的尾部在盒子的中心底部

注意:箭头的尾部在原点 (0, 0)。尾巴水平居中,但整体箭头向左倾斜。无论箭头指向哪个方向,这都是我想要实现的。


这需要适用于 x 和 y 坐标为正、负或两者混合的路径。

这如何通过 XAML 以最少的标记来完成?

0 投票
1 回答
531 浏览

.net - 从字符串中提取数字

我必须解析一个字符串来创建一个PathSegmentCollection。该字符串由逗号和/或(任何)空格(如换行符、制表符等)分隔的数字组成,数字也可以使用科学记数法编写。

这是一个例子:"9.63074,9.63074 -5.55708e-006 0 ,0 1477.78"

点是:P1(9.63074, 9.63074), P2(-0,555708, 0), P3(0, 1477.78)

要提取数字,我使用正则表达式:

它有效,但我必须解析大约十万个(或更多)字符串,而且这种方式太慢了。我想找到一个更有效的解决方案,而:大多数时候数字不是用科学记数法写的,如果你认为这是更好的方法,我可以使用用 C++/CLI 编写的使用 C/C++ 的程序集非托管代码或 C# 不安全代码。

0 投票
2 回答
15771 浏览

c# - 如何在 C# 中绘制此 WPF 路径

我一直在努力将这段 WPF 代码转换为 C#。我对 WPF 比较陌生,我真的希望有人可以在这里帮助我:)

在获得 PathGeometry Figures 之前,我似乎相处得很好……如果有人可以向我提供此 WPF 代码的 C# 代码片段,将不胜感激!

0 投票
2 回答
187 浏览

math - 在屏幕上移动旋转的 3D 对象,使其在停止时朝向正确的方向

我想要实现的最好的例子就是这个 youtube 视频

http://www.youtube.com/watch?v=53Tk-oGL2Uo

组成“Atari”这个词的字母从屏幕边缘飞入旋转,然后排列成最后的单词。

我知道如何让一个对象在屏幕上移动,但是我如何计算旋转,以便当对象到达其最终位置时它面向正确的方向?

0 投票
1 回答
6133 浏览

wpf - 是否有比 PathGeometry.FillContainsWithDetail() 更有效的方法来检测多边形重叠/相交?

我有一种方法会占用我 25% 的 CPU 时间。我每秒调用这种方法大约 27,000 次。(是的,很多电话,因为它经常更新)。我想知道是否有人知道一种更快的方法来检测 2 个多边形是否重叠。基本上,我必须检查屏幕上的移动对象和屏幕上的静止对象。我正在使用 PathGeometry,下面的两个调用占用了我的程序使用的 CPU 时间的 25%。我传递的 PointCollection 对象仅包含代表多边形 4 个角的 4 个点。它们可能不会创建一个矩形区域,但所有点都是连接的。我想梯形将是形状。

这些方法很短而且很容易实现,但我想我可能想选择一个更复杂的解决方案,如果我可以让它比下面的代码运行得更快。有任何想法吗?

0 投票
1 回答
17201 浏览

wpf - Setter.TargetName 不适用于 BasedOn 设置中的元素

我有许多 PathGeometry 实例,它们为不同的按钮绘制各种图形。所以我创建了一个按钮类型来显示一个路径,然后根据按钮状态更新 Path.Stroke。因此,禁用时显示为灰色,鼠标悬停时显示不同的颜色。标准的东西...

但显然我需要为每个按钮实例使用不同的 Path.Data。所以我创建了一个 BasedOn 样式来设置 Path.Data 像这样......

...但这会失败,并出现无法找到 TargetName="Path" 的错误。任何想法如何解决这一问题?或者也许是创建一个具有使用几何参数化的路径的按钮的更好方法?

0 投票
1 回答
902 浏览

wpf - 绑定 PathGeometry 时未设置 StrokeStartLineCap

XAML 产生预期的结果:带有圆角末端的线。

但是,绑定相同 PathGeometry 的数据会产生平端。我不确定这是为什么,谁能解释一下?

这是一个简化的示例:

XAML:

C#:

0 投票
1 回答
166 浏览

c# - 新的 PathGeometry() 抛出 TypeInitializationException?

我有一个程序在后台线程中进行一些几何分析。

通常这工作得很好,但令人惊讶的是,当我尝试在我的开发计算机上创建 PathGeometry 时出现异常:

所以在简单的代码上:

我得到一个 System.TypeInitializationException {"Der Typeninitialisierer für \"System.Windows.Media.PathGeometry\" hat eine Ausnahme verursacht."}
堆栈跟踪是:

此异常包含 InnerException System.ComponentModel.Win32Exception {"Ungültiges Fensterhandle"} InnerException 的堆栈跟踪是:

奇怪的事情:可执行文件确实可以在其他计算机上运行。

问题是什么?为什么 PathGeometry 构造函数会尝试访问某些窗口句柄?我该如何解决这个问题?

我正在使用 .NET 框架 4.0,并且代码在 VS2010 和 VS2012 上都会抛出。