sup*_*lou 7 python svg inkscape
我正在使用wxPython为一个最终将成为嵌入式设计的项目的一些显示接口构建原型.由于我们正在使用图形设计器进行迭代,因此让它们在像Inkscape这样的WYSIWYG编辑器中工作要比不断重写2D图形绘制调用要容易得多.对于需要动画或动态文本的元素,SVG元素可以通过ID轻松识别,以便在渲染之前以编程方式更新它们.渲染流程如下所示:
Inkscape SVG as XML --> Python modification of XML --> Drawing onto wxPython buffered canvas using Cairo and pyRSVG
Run Code Online (Sandbox Code Playgroud)
我想围绕固定轴为一个仪表设置一个旋转针.为了定义针,图形设计者绘制图形"针"和"needle_axis"元素,这是一个小圆圈.然后,我想我可以使用所需的角度和"needle_axis"的中心坐标设置transform属性.然而,由于相对位置可能因其他变换而受到影响,因此确定旋转轴的绝对位置并非易事.
我似乎找不到用于确定元素绝对坐标的Python库,并且感觉就像重新发明轮子来尝试实现SVG规范的一部分.有必要来计算它.该RSVG API提到rsvg_handle_get_dimensions_sub
和arsvg_handle_get_position_sub
功能来获得尺寸和元件的位置,但我找不到pyRSVG的API.
有没有比手动计算旋转轴更好的方法?Inkscape SVG文件和测试片段的示例可作为要点.