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

标签 java svg svg-salamander

我使用 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/

相关文章:

java - 命令模式与反射

java - 由 : org. postgresql.util.PSQLException 引起:致命:用户 "admin"的密码验证失败

html - 包含SVG图片的HTML框与图片的宽高比不匹配

Java SVG Salamander 线性渐变未显示

java - SVG 蝾螈的例子?

java - 客户端捕获 Web 服务用户异常 [Java 6.0.17]

java - 此代码段是否会导致无限循环或其他?

javascript - x 轴文本标签未与 D3.js 中的条对齐

javascript - 通过 javascript 即时创建 svg 图像有意义吗?