我正在创建一个应用程序,在使用D3 + SVG绘制相当复杂的2D视图时,我需要使用物理单位(在我的情况下为mm)。我可以创造我所有的物体并平移而没有任何问题,但我偶然发现旋转问题。
我创建矩形的代码基本上是
var svgobject = svg.append("rect")
.attr("x", "10mm")
.attr("y", "10mm")
.attr("width", "5mm")
.attr("height", "5mm")
/* .attr("transform", "rotate(45 '20mm' '20mm')")*/;
我需要围绕一个点(通常是对象的中心,但不总是)旋转许多对象。但是,我无法找到指定旋转参考点的可靠方法。
最简单的方法是如果我可以如上所示指定旋转,但是当我尝试在旋转变换中使用mm作为单位时,我得到类似于
的错误消息“错误:属性转换的值无效=”旋转(45'20mm''20mm')“”
我已尝试使用D3和vanilla SVG,但我找不到任何方法。
我的另一个攻击计划是用“svg单位”来指定旋转点,但我还没有找到一种从mm转换为svg单位的可靠方法。当我尝试获取对象的x或y属性时,我只获取mm属性。
任何帮助都会非常感激,因为我几天来一直坚持这个特殊问题。