gpt4 book ai didi

java - 如何使用 SVG Salamander 旋转元素

转载 作者:行者123 更新时间:2023-11-30 08:18:44 26 4
gpt4 key购买 nike

我使用 SVG Salamander 在 Java 中显示和操作 SVG 图像。我设法更改元素的填充、描边或文本并显示更改。

现在我想旋转一个元素。所以我尝试操纵变换矩阵:

SVGElement e = diagram.getElement("path4150");
System.out.println(e.getPresAbsolute("transform").getStringValue());
StyleAttribute t = e.getPresAbsolute("transform");
double[] d = t.getDoubleList();
d[0] = -0.39394618;
d[1] = -0.91913346;
d[2] = 0.91913357;
d[3] = -0.39394618;
d[4] = -429.42706;
d[5] = 1513.019;
t.setStringValue("matrix(" + Joiner.on(",").join(Doubles.asList(d)) + ")");
System.out.println(e.getPresAbsolute("transform").getStringValue());
diagram.render(graphics);

输出:

matrix(0.87615346,0.48203226,-0.48203232,0.87615346,468.09264,-25.725313) matrix(-0.39394618,-0.91913346,0.91913357,-0.39394618,-429.42706,1513.019)

正如我在输出中看到的,矩阵发生了变化。但该元素没有在图片中旋转。

最佳答案

我刚刚开始了解这一点 - 但 SVGSalamander 文档提到需要在被修改的元素(或者可能只是根元素?)的容器上调用 updateTime() ,以强制它重绘。如果您不使用动画,那么任何值(0.0?)作为 updateTime() 的参数都可以...

关于java - 如何使用 SVG Salamander 旋转元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29284307/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com