我正在使用XML读取器,并与python中的SimpleIDML模块结合使用,以尝试读取和写入IDML文件。在执行此操作时,我将需要从所述文件中读取几何边界(对象的顶部,左侧,底部和右侧)。在遍历XML文件进行传播时,我发现了以下代码:
<Properties>
<PathGeometry>
<GeometryPathType PathOpen="false">
<PathPointArray>
<PathPointType Anchor="159.92000000000002 -235.728" LeftDirection="157.85224590848 -235.728" RightDirection="161.98775409152 -235.728"/>
<PathPointType Anchor="163.66400000000004 -239.47200000000004" LeftDirection="163.66400000000004 -237.40424590848" RightDirection="163.66400000000004 -241.53975409152002"/>
<PathPointType Anchor="159.92000000000002 -243.21600000000007" LeftDirection="161.98775409152 -243.21600000000007" RightDirection="157.85224590848 -243.21600000000007"/>
<PathPointType Anchor="156.176 -239.47200000000004" LeftDirection="156.176 -241.53975409152002" RightDirection="156.176 -237.40424590848"/>
</PathPointArray>
</GeometryPathType>
</PathGeometry>
</Properties>
这似乎是IDML模式中Oval
对象的代码。从specs中可以看到,这些点定义了Bezier曲线。但是,我不熟悉贝塞尔曲线,也不知道如何将其转换为Oval
本身的几何边界。
有人在Python中有一个函数可以从这些以英寸为单位的坐标中得出几何边界吗?此外,如果我想移动这些椭圆或调整其大小,是否可以将一组几何边界转换为该符号?
更新:显然,每个对象也具有“ ItemTransform”属性。这可能是计算所必需的吗?