问题标签 [path-2d]

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 回答
7030 浏览

javascript - 缩放画布Path2d(带有svg路径数据)而不缩放整个画布?

我在一个画布中有多个 Path2D,我希望能够独立地缩放和定位它们,而不是调整 context.scale() 和 context.translate()。我正在使用 SVG 路径数据构造每个 path2D 对象,因为我希望能够修改笔划破折号和笔划长度。

似乎我可能无法使用 Path2D 实现这一点,解决这个问题的最佳方法是什么?

我正在考虑一些潜在的选择:

  1. 使用带有 svg 源的 drawImage 方法
  2. 将 svg 路径数据转换为画布路径弧(可能使用库)
  3. 调整实际的 svg 路径数据并为每个绘画重建 Path2D 对象

编辑:

我在不改变 p2 位置的情况下尝试将 p1 移向 p2 的地方构建了这个代码笔。当我翻译上下文时,两个对象都会移动。仅调整 p1 位置的最佳方法是什么?

http://codepen.io/jasonpearson/pen/reXyVG

0 投票
1 回答
156 浏览

java - java.awt.geom.Area 对象重复点?

我使用很多 2D 浮点多边形。我想出了一个用例,我需要从另一个中减去一个,所以我想我会使用 java.awt.geom.Area。我用四个点创建了一个 Area 对象:

并且无论我在创建区域时如何排序这些点,我都会得到以下信息:

注意几乎相同的双99.99999999999973, 54.24264068711893坐标。

任何有关如何避免这种情况的线索都将受到欢迎。这是代码:

0 投票
1 回答
1232 浏览

javascript - 使用 isPointInPath() 来引用 Path2D 对象?

所以我对在当代浏览器中引入 Canvas Paths 作为标准对象感到非常兴奋,并且一直试图看看我能从这个新功能中获得多少里程。但是,我对这些对象如何与 isPointInPath() 方法(可能还有其他基于路径的方法)交互的理解显然有些缺陷。

正如下面前两个测试函数所演示的,我可以得到要被 isPointInPath() 方法识别的绘制路径。但是,当我将路径定义为对象时,该方法将停止工作(即使路径对象可以被识别用于其他目的,例如填充)。

这从根本上来说是思考 Path2D 对象和在画布上记录“命中”区域的错误方式吗?如果是这样,是否有另一种技术(为绘制的每条路径或沿该脉络的东西保存画布上下文)会产生所需的效果?

0 投票
1 回答
860 浏览

java - How to clear Path in JavaFX GraphicsContext?

I am drawing a complex path to render a 3D image from scratch. It is the task and use of 3D engines is not allowed.

I am using:

svg is a very long string that contains svg graphic.

What I have noticed is that the value of gc.path.pointTypes.length keeps increasing by > 400k each time graphics are rendered and that slows down simulation with each loop.

How can I clear the path of GraphicsContext?

ps: It is package-private, no access.

0 投票
1 回答
192 浏览

java - 保持 2 Path2D onMouseDragged 之间的距离相同

我假设有两个 Path2D,一个包含另一个。当我从第一个形状移动一个点时,第二个形状移动相同,但是由于角度的变化,形状之间的距离也发生了变化(最终结果......)。

到目前为止,我有这个,第二个三角形(innerTriangle)的硬编码点:

如何以编程方式在周围保持相同的距离(比如 10 像素)?

外三角形和红色(内)三角形之间的距离应该在所有方向上始终相同。任何想法?

查看图片

目前我正在做一些事情:

...但不起作用。帮助!!!:)

查看上面代码的图像

谢谢你!

0 投票
1 回答
502 浏览

javascript - detecting a click inside a hexagon drawn using canvas?

I'm working on a certain layout where I need to draw a hexagon which needs to be clickable. I'm using the Path2D construct and isPointInPath function. I'm constructing an animation where a number of hexagons is created and then each moved to a certain position. After the movement is done, I am attaching onclick event handlers to certain hexagons. However there is weird behaviour.

Some initialized variables

Below is the function which draws the hexagons.

This function populates the hexagon array

}

And here is where Im calling the isPointInPath function.

Can you help me figure out what I'm doing wrong? Maybe I misunderstood how Path2D works? Thanks in advance.

0 投票
1 回答
455 浏览

javascript - Path2D.addPath 被删除了?

我已经使用Path2D了一段时间,但现在它的功能似乎Path2D.addPath(path, matrix?)被删除了(至少在 chrome 中)。

真的有替代品吗?
它是永久性的,还是只是浏览器部分的错误?

0 投票
2 回答
596 浏览

java - Path2D -- .contain() not working

I am trying to see if a point is contained within a polygon using Path2D.

The last line, System.out.println(poly.contains(lat1, lon1)), prints "false" even though I know the coordinates(lat1, lon1) are within the polygon sapecified in "testBound". Is the ".contain()" not working? Am i missing something?

0 投票
1 回答
523 浏览

javascript - 如何使用 Path2D(或任何形状抽屉)在 Java 中绘制 SVG 路径点?

我一直在寻找一种从 a 中获取积分SVG并将其应用于 a 的方法Path2D画家的方法。

解析任务不是我的重点,问题是了解这些点在画布中的工作原理以及如何将其应用于Path2D.

例如,考虑我有这个SVG标签:

这只是将抽屉移动到第一个点,使用这些点绘制一条曲线并关闭路径。

我试图将其应用于这样的Path2D

由于来自的点SVG是亲戚,因此我将 x 和 y 字段相加为点,但我得到了这个结果: 在此处输入图像描述

这只是检查绘图是否有效的一个小测试,我需要将它用于更复杂的路径,因为我需要绘制多达 50 个 SVG 路径Batik不是一个好方法,考虑到只渲染一个 svg 图像太慢了我的项目。

然后我需要知道的是是否可以像这样直接使用它的点来绘制 SVG 路径。如果是,如何解决我的想法?如果没有,如何绘制路径的好方法?ps:我的目标是swing

0 投票
0 回答
76 浏览

isometric - Godot 3.0 沿路径更改 KinimaticBody 2D 的动画

我试图让一个运动体将其动画更改为适当的等距动画,因为它遵循一条路径。我正在使用的代码如下,它附加到 A KinematicBody2D。任何想法都会有帮助,甚至改变结构等。

目前的守则