我在阅读IDML点差时遇到过多种形状。每个Shape都有自己的几何图形 -
-<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上的形状是什么?
感谢。
答案 0 :(得分:3)
每个IDML PathPointType
都是立方bezier curve上的节点。控制点和锚点的组合定义了线的终点和曲率。 IDML中的所有线都被定义为它们是曲线,但是,正如您所注意到的,直线的控制点和锚点是相同的。直线多边形(例如三角形)的定义方式相同。
IDML只有一小部分形状类型(矩形,椭圆,图形线,多边形 - 参见规范中的10.3.1。)。您可以通过一次绘制一行来从IDML绘制任何形状,但为矩形和椭圆创建单独的例程更有效。
还请注意PathOpen="false"
元素上的GeometryPathType
。为了提高效率,未定义形状中的最后一行 - 如果PathOpen
== false,您将创建从最终点到第一行的行。