我在阅读 IDML 点差时遇到了多种形状。每个形状都有自己的几何形状,看起来像 -
-<PathGeometry>
-<GeometryPathType PathOpen="false">
-<PathPointArray>
<PathPointType RightDirection="-611.5 1548.5" LeftDirection="-611.5 1548.5" Anchor="-611.5 1548.5"/>
<PathPointType RightDirection="-611.5 2339.5" LeftDirection="-611.5 2339.5" Anchor="-611.5 2339.5"/>
<PathPointType RightDirection="-533.3 2339.5" LeftDirection="-533.3 2339.5" Anchor="-533.3 2339.5"/>
<PathPointType RightDirection="-533.3 1548.5" LeftDirection="-533.3 1548.5" Anchor="-533.3 1548.5"/>
</PathPointArray>
</GeometryPathType>
</PathGeometry>
对于矩形来说,这是微不足道的(如上例所示),其中
<PathPoint>
元素中的每个属性都指向矩形中的一个端点。其他形状会发生什么?换句话说,RightDirection、LeftDirection 和 Anchor 属性表示什么?有没有办法确定它正在查看 PathPointArray 的形状?谢谢。
最佳答案
每个 IDML PathPointType
都是三次 bezier curve 上的一个节点。控制点和 anchor 的组合定义了线的端点和曲率。 IDML 中的所有线都被定义为曲线,但正如您所注意到的,直线的控制点和 anchor 是相同的。直线多边形(例如三角形)的定义方式相同。
IDML 只有一小部分形状类型(矩形、椭圆、图形线条、多边形 - 请参阅规范中的 10.3.1.)。您可以通过一次绘制一条线来从 IDML 绘制任何形状,但为矩形和椭圆创建单独的例程会更有效。
另请注意 PathOpen="false"
元素上的 GeometryPathType
。为提高效率,未定义形状中的最后一行 - 如果 PathOpen
== false,您将创建一条从最后一点回到第一点的线。
关于geometry - IDML : How are shapes stored in IDML files?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15652612/