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は、3次ベジェ曲線PathPointType上のノードです。コントロールポイントとアンカーポイントの組み合わせにより、ラインの終点と曲率が定義されます。IDMLのすべての線は、曲線であるかのように定義されていますが、お気づきのとおり、直線の制御点とアンカー点は同じです。直線ポリゴン(三角形など)も同じように定義されます。

IDMLには、形状タイプ(長方形、楕円、グラフィックライン、ポリゴン-仕様の10.3.1を参照)の小さなコレクションしかありません。IDMLから一度に1本の線を描くだけで任意の形状を描くことができますが、長方形と楕円に別々のルーチンを作成する方が効率的です。

要素にも注意PathOpen="false"してください。効率を上げるために、図形の最後の線は定義されていません。== falseGeometryPathTypeの場合、最後の点から最初の点に戻る線を作成します。PathOpen

于 2013-03-27T08:24:31.530 に答える