问题标签 [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 投票
3 回答
2282 浏览

wpf - 如何创建在某些地方延伸的 WPF 路径

我想为窗口选项卡创建一个 WPF 控件,并且我希望它具有特定的形状。像这样的东西;

所以左下角和右下角的小标签是固定大小的;大约 6x6。但现在我希望中心部分伸展到我拍它的任何容器的宽度。

我目前正在使用 Path 对象,但我不知道如何获得拉伸部分,或者即使 Path 是正确的方法。

谁能建议创建这种半可拉伸形状的最佳方法?

0 投票
1 回答
1579 浏览

wpf - 在 PathGeometry 中切割孔

我有一个 PathGeometry 定义一些像这样的路径:

原始路径 http://devblog.ailon.org/devblog/_stuff/wpfpathgeoquestion/original.gif

这是一个简化的例子。实际上,它可以有任何类型的线段(直线、弧线、贝塞尔曲线)。

现在,我需要在分段关节点上切出某种大小(正方形、圆形等)的孔,因此最终结果如下所示:

有孔 http://devblog.ailon.org/devblog/_stuff/wpfpathgeoquestion/with_holes.gif

我最初的想法是使用 GeometryCombineMode.Exclude 将原始 PathGeometry 与在关节点中包含正方形(或其他)的其他几何图形结合起来。不幸的是,如果路径没有被填充,这会产生空几何。如果它被填充,它会产生不正确的结果。

所以我被困住了。在带有线段的简单示例中,我可以预先计算边界点并让我的线段在那里结束,但是对于弧线和贝塞尔曲线,这有点矫枉过正。

有谁知道如何做到这一点?

注意:我需要擦除这些孔(透明),因此在其上方放置一个白色方块是不行的。

0 投票
3 回答
910 浏览

path - 在 Silverlight 2 中动态确定路径

我在画布内有一个带圆角的边框,并希望在画布上添加一个剪切区域,以便我添加的任何内容都被剪切到边框内的区域。我知道我可以设置画布的 Clip 属性,但是由于画布和对象的大小是动态的,而不是在 XAML 中分配大小,我不知道如何计算要使用的路径。有什么方法可以从 UIElement (在这种情况下为边框)派生 PathGeometry 吗?如果不是,解决此问题的最佳方法是什么?这是我正在使用的测试页面的 XAML。

0 投票
7 回答
22003 浏览

wpf - 从图像中获取路径几何

如果我有徽标,可以说是 jpg 甚至是 png。关于如何使用它来定义路径几何的任何建议?如果可以就我如何在混合中做到这一点提供任何建议,那将是非常好的。谢谢

0 投票
1 回答
2407 浏览

silverlight - 如何在 Silverlight 中克隆路径资源?

我在我的 Xaml 文件中定义了一个资源,如下所示:

我希望能够将此路径(以及其他几个)的多个“实例”添加到 StackPanel。当然,我不能简单地将“myPath”添加到面板,因为它已经是另一个容器的子容器。

但是,我似乎也无法克隆路径。我试过了:

但没有运气......关于价值超出预期范围的例外情况。

最后,我尝试深入研究 source.Data (一个 PathGeometry),但它不包含 PathFigures ......我不知道为什么,因为如果我将路径从资源部分直接复制到面板,它会呈现。

是什么赋予了?

谢谢,塞尔吉奥

0 投票
1 回答
3697 浏览

wpf - WPF - 路径/几何帮助 - 奇怪的形状

有人知道从 Xaml 创建这个对象的好方法吗?当分层在其他控件之上时,它还必须在 0.5 不透明度下工作。

它还必须通过水平或垂直对齐来调整大小。

我遇到了一些困难。我得到的最接近的是 2 个边框,一个具有负边距 - 但应用 Opacity 时它不起作用。

有效的代码:

0 投票
1 回答
2100 浏览

c# - 在 C# 中给定开始、结束和沿贝塞尔曲线的 1 个点时,查找 QuadraticBezierSegment 的控制点 - QuadraticBezier 3-point Interpolation

这类似于我之前询问的关于三次贝塞尔曲线的问题。我有一个起点、一个终点和一个沿着二次贝塞尔曲线的点。鉴于这三个点,我希望能够在 WPF 中绘制一个 QuadraticBezierSegment,但我需要单个 ControlPoint 值(在 QuadraticBezierSegment 中它是 Point1)才能绘制它。

是否有计算或方法可以确定该值并因此绘制我的 QuadraticBezier?

谢谢!

0 投票
1 回答
338 浏览

path - 如何在贝塞尔路径上进行几何高级操作?

我有一个使用中点近似绘制常规贝塞尔路径图(由许多贝塞尔点形成的复杂路径)的库。

我可以毫无问题地绘制它们,但我需要添加对高级几何操作的支持:曲线的最近点、交叉点、图形包含点,更重要的是,路径组合:差异、交叉点、异或、联合,...

有什么好的来源可以得到这一切吗?

谢谢

0 投票
1 回答
456 浏览

wpf - Silverlight 中 PathGeometry 的自定义填充属性

我一直在查看(并且被依赖属性弄糊涂了)——我不确定这是我需要的还是其他的。

我正在寻找与<Path.Data/>Silverlight 中的子级非常具体的东西,特别是<PathGeometry/>,<EllipseGeometry/>等。虽然该<Path/>元素具有.Fill属性,但我想.Fill为它的任何几何图形添加一个属性,这意味着它的颜色与其父级不同。它可以是一种<SolidColorBrush/><LinearGradientBrush/>颜色,也可以是父颜色的百分比(例如比<Path.Fill/>.

这可能吗?这是一个依赖属性吗?例如,如何<RectangleGeometry/>知道我正在尝试用颜色填充它?我将如何开始?

也将 WPF 添加为标签,因为知道 WPF 的人可能会提供帮助

0 投票
3 回答
2879 浏览

c# - WPF PathGeometry 更新是_SLOW_

在 WPF UI 中,我有通过贝塞尔路径连接的节点,如下所示:

它可能是...原子 http://nv3wrg.blu.livefilestore.com/y1pIGBd33lCC6lF-9H0MqgnL40BdNEoEemZDENzgpEI1IL2j4B-qb3qS3WlxMSys28IjqNngR7mdfvQBnPzerf4cFJQj9VqHBh4/acurve.png?psid=1

当用户拖动一个节点时,连接路径需要实时更新。但是,我注意到一些速度变慢(特别是如果一个节点连接到许多其他节点,或者同时拖动多个节点)。我对其进行了分析,主要问题似乎在这里:

证明我实际上使用了分析器,所以请不要像“天哪,过早鸦片化;你是恶魔!!” http://nv3wrg.blu.livefilestore.com/y1pjRfQYuN57yei5qdUxW4Dlh4vVCzPy8TcfEzlw_8cUicfOR6BwHCTntcQbQUspRAgBdKcItC0ZcEJbIWMKaYrCtDMOtCBKB4g/profile.png?psid=1

这是每次更改源或目标属性时调用的函数。每当任何控制点发生变化时,构成路径的几何图形似乎都会在内部重新生成。也许如果有一种方法可以防止重新生成几何体,直到设置了所有相关的依赖属性?

编辑: Mart 使用 StreamGeometry 的解决方案以指数方式加速它;该功能远未接近瓶颈。一点反射表明 PathGeometry 在内部使用 StreamGeometry,每次更改任何依赖属性时,都会重新计算 StreamGeometry。所以这种方式只是切断了中间人。最终结果是:

该项目的完整源代码可在http://zeal.codeplex.com获得,供好奇者使用。