4

我在阅读 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 的形状?

谢谢。

4

1 回答 1

5

每个 IDML都是三次贝塞尔曲线PathPointType上的一个节点。控制点和锚点的组合定义了线的端点和曲率。IDML 中的所有线都被定义为曲线,但正如您所注意到的,直线的控制点和锚点是相同的。直线多边形(例如三角形)的定义方式相同。

IDML只有一小部分形状类型(矩形、椭圆、图形线、多边形 - 参见规范中的 10.3.1.)。您可以通过一次绘制一条线从 IDML 绘制任何形状,但是为矩形和椭圆创建单独的例程会更有效。

还要注意元素PathOpen="false"GeometryPathType为了提高效率,未定义形状中的最后一行 - 如果PathOpen== false,您将创建一条从最后一点返回到第一个点的线。

于 2013-03-27T08:24:31.530 回答