2013-03-27 3 views
3

Я столкнулся с несколькими формами при чтении рассылок IDML. Каждая форма имеет свою собственную геометрию, которая выглядит как -IDML: Как формы хранятся в файлах 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?

Спасибо.

ответ

3

Каждый IDML PathPointType является узлом на кубике bezier curve. Комбинация контрольных и опорных точек определяет конечные точки и кривизну линии. Все строки в IDML определяются так, как если бы они были кривыми, но, как вы заметили, контрольные и опорные точки для прямой линии идентичны. Аналогичным образом определяются линейные полигоны (такие как треугольник).

IDML имеет только небольшую коллекцию форм (прямоугольники, эллипсы, графические линии, полигоны - см. 10.3.1 в спецификации). Вы можете нарисовать любую форму из IDML просто путем рисования ее по одной строке за раз, но более эффективно создавать отдельные процедуры для прямоугольников и эллипсов.

Примечание также PathOpen="false" на элементе GeometryPathType. Для эффективности последняя строка в фигуре не определена - вы создадите линию от конечной точки до первой, если PathOpen == false.

+0

Еще раз спасибо JcFx !! :) – divyanshm

 Смежные вопросы

  • Нет связанных вопросов^_^