问题标签 [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 回答
856 浏览

c# - PathGeometry 的非 GUI 替代品?

我有两个巨大的(> 100000 项)PathGeometry 集合,我需要使用 PathGeometry 进行比较。组合如下:

令我惊讶的是,PathGeometry 是 GUI 的一部分,并且确实使用了调度程序,这有时会导致问题,因为我的计算确实在没有使用 Parallel.ForEach() 的 GUI 的情况下在某些后台线程中运行

因此,我正在寻找未连接到 GUI 的 PathGeometry 的替代方案。
我的人物非常复杂,在 PathGeometry.Figures 中添加了很多 PathFigures。

我自己从一些臃肿的政府 xml 文件中创建了那些 PathGeometries,所以创建其他东西是没有问题的。但是我需要一个函数来创建这两个几何图形的交集(而不是将它们相互添加)以获得两个几何图形覆盖的区域,例如该图中的红色区域:

在此处输入图像描述

0 投票
1 回答
247 浏览

silverlight - EllipseGeometry 不在 Silverlight 中呈现

我正在尝试使用 EllipseGeometry 而不是 Ellipse 在 WP7 Silverlight 中绘制一个圆圈。MSDN 中的示例 XAML 不会在 Visual Studio 的画布上显示任何内容。如果我运行该应用程序,它会显示在模拟器中。

任何想法发生了什么?

0 投票
1 回答
1038 浏览

java - 从 java.awt.geom.GeneralPath 中删除一个点/操作

有什么办法可以删除一条一般路径的点吗?我画了一个 GeneralPath 如下:

现在我想删除一个特定的点/操作,例如 lineto(10,10) 而不从新创建 GeneralPath。(性能原因)

我喜欢如下命令,但这不可用:

附上一个截图,这应该可以解释我的愿望:-) 我想删除我的 GeneralPath 中的蓝色标记点。

感谢和问候

在此处输入图像描述

0 投票
2 回答
3541 浏览

c# - 显示椭圆的半径 - WPF

我有一个椭圆几何。我想用 C# 从圆心到圆的边缘画一条线来显示椭圆的半径。我怎样才能做到这一点?

注意:椭圆的中心和半径不是固定的,由用户定义。

在此处输入图像描述

0 投票
1 回答
4740 浏览

c# - WPF路径形状数据绑定:她不更新

我正在尝试将 Data 字段绑定到 WPF 路径对象上。我尝试了两种不同的方法,但两种方法都不会触发更新的绘图。

计划一:

SegmentPoints 是一个ObservableCollection<Point>. 转换器返回一个新的 StreamGeometry 对象。我预计如果我替换了集合中的一个点,这个东西会重新绘制。那是行不通的。如果我触发 SegmentPoints 的 PropertyChanged 事件,它会重绘。

计划二:

然后,在视图模型中,我更新了我的BezierSegment.Point3. 因为各种段类型上的 Point 属性是 DependencyProperties,所以我认为我可以更新它们,它们会触发并更改树。显然也不是这样。

所以我的问题是:有什么方法可以手动触发 Path 对象的更新?(如果是这样,我可能会使用 NotifyOnTargetUpdated。)是否有某种方法可以配置系统,以便段上的点更改将触发重绘?

0 投票
2 回答
893 浏览

wpf - 更改元素位置 WPF

如何更改 C# 代码中的位置元素(行)?

0 投票
2 回答
2131 浏览

c# - 为什么我不能在 XAML 中使用变换定义几何?

我正在尝试创建一个包含已设置的答案ResourceDictionaryStreamGeometriesTransforms

但是,我收到以下错误:

1:无法向“StreamGeometry”类型的对象添加内容。

2:处理初始化字符串“ {PathData} ”时遇到TypeConverter语法错误。通过 TypeConverter 创建的对象不允许使用元素属性。

所以我用 a 试了一下PathGeometry,得到了这个错误:

无法将指定的值分配给集合。预期以下类型:“PathFigure”。

有没有办法在 XAML 代码中对几何图形应用转换?还是我只需要通过代码来完成?

0 投票
1 回答
3369 浏览

c# - 如何将矩形添加到 PathFigure WPF

我完全厌倦了Rectangle在路径图中添加一个。以下是我尝试过的代码,但结果不正确Rectangle

还有其他方法吗?

0 投票
0 回答
767 浏览

wpf - 将带有 PathGeometry 的 DrawingBrush 用作 OpacityMask 无法按预期工作

我试图让一条路径充当OpacityMask另一条路径,以便仅绘制轮廓。我已经得到了两条正确重叠的路径,但是当我从 中创建一个GeometryDrawingPathGeometry,它会产生一些我无法理解的奇怪结果。

为了让您了解我在说什么,下图是两条路径,一条橙色和一条黑色,重叠以产生带有黑色轮廓的橙色路径的效果:

http://i.imgur.com/t0k3KvE.png

我正在寻找的是使橙色路径(顶部)成为OpacityMask黑色路径以创建透明度。当我尝试创建一个GeometryDrawing与 a 一起使用时,DrawingBrush我得到了一个奇怪的效果:

http://i.imgur.com/wShmWxF.png

如您所见,它不是挖掘黑色路径的内部,而是在其外部创建一个遮罩,并扭曲路径上的实际数据点。

这是绘制第一张图像的代码:

现在禁止设置代码并将它们添加到画布,使用以下代码创建第二个图像:

谁能告诉我为什么会这样?

更新 1: 我已将问题缩小到无法从另一个元素中雕刻出形状。根据我对不透明蒙版的理解,我的印象是,为系统提供黑白颜色可以让我屏蔽图像或控件的某些区域,但不幸的是,我得到的是相反的:所有不透明的东西都被蒙上.

0 投票
1 回答
929 浏览

c# - 将路径和描边宽度转换为几何图形

我有一些代码需要多个点并创建多个 LineSegments 来构建路径。

这将创建我的线,宽度为 22px(大约)。现在,如果您查看实际的数据,您只能看到 LineSegement 元素,它本质上为您提供这样的输出,其中真实的线是黑色的,实际显示的线是灰色的(请原谅狡猾的 mspaint 草图):

在此处输入图像描述

现在我想对 Geometry 执行 StrokeContains 以查看指定的 Point 是否在上面的整个 pathSegment 内(灰色区域)。它实际上做的是检查 LineSegments(黑线)。

有没有更好的方法来建立路径?还是有办法将pathSegment(包括StrokeWidth)转换为新路径?