1

又是我 :)

我今天的问题集中在 SVG 上。在 SVG 中,您可以将标签中的不同<path>元素分组<g>,以便能够一次调用所有路径的转换。此外,还有一些转换/操作只能在组上调用,而不是直接在路径上调用。

我有一个 SVG 源需要在我的 UI 中显示,其中包含如上所述的不同元素。所以我有类似的东西:

<g id="myId" transform="matrix(-1,2.4336e-008,-2.4336e-008,-1,2163.78,1161.93)">
  <path .../>
</g>

目前我正在使用 SVGPath 和 Stackpane,效果很好。我只是想知道如何处理矩阵转换?由于没有相应的 SVGGroup 类,我想我必须自己实现这个,这里描述了规则。

我是在正确的道路上还是我又错过了什么?您是否会建议使用图像而不是处理 SVG 的东西(尽管我不知道这在这种关于矩阵转换的特殊情况下会有什么帮助)。

一如既往,任何建议都值得赞赏:)

干杯。

4

1 回答 1

2

You can use FX transforms:

    SVGPath path = new SVGPath();
    path.setContent("M50,50 L100,50 L100,100 L50,50 Z");
    path.getTransforms().add(
         Transform.affine(-1,2.4336e-008,-2.4336e-008,-1,2163.78,1161.93));

Your numbers are a bit extreme, but for simple transforms I've tried matrix parameters are the same as Transform#affine ones.

于 2012-09-11T14:12:54.063 回答