Доступ к геометрическим границам объекта в пределах распространения IDML - PullRequest
1 голос
/ 19 июня 2019

Я использую средство чтения XML в сочетании с модулем SimpleIDML в python, чтобы читать и записывать в файл IDML. При этом мне нужно будет прочитать геометрические границы (сверху, слева, снизу и справа от объекта) из указанного файла. Просматривая файл XML для распространения, я нашел этот код:

<Properties>
  <PathGeometry>
    <GeometryPathType PathOpen="false">
      <PathPointArray>
        <PathPointType Anchor="159.92000000000002 -235.728" LeftDirection="157.85224590848 -235.728" RightDirection="161.98775409152 -235.728"/>
        <PathPointType Anchor="163.66400000000004 -239.47200000000004" LeftDirection="163.66400000000004 -237.40424590848" RightDirection="163.66400000000004 -241.53975409152002"/>
        <PathPointType Anchor="159.92000000000002 -243.21600000000007" LeftDirection="161.98775409152 -243.21600000000007" RightDirection="157.85224590848 -243.21600000000007"/>
        <PathPointType Anchor="156.176 -239.47200000000004" LeftDirection="156.176 -241.53975409152002" RightDirection="156.176 -237.40424590848"/>
      </PathPointArray>
    </GeometryPathType>
  </PathGeometry>
</Properties>

Похоже, что это код для Oval объекта в схеме IDML. Из того, что я могу видеть из спецификаций , эти точки определяют кривую Безье. Однако я не знаком с кривыми Безье и не знаю, как я мог бы преобразовать это в геометрические границы для самого Oval.

У кого-нибудь есть функция в Python для получения геометрических границ из этих координат в дюймах? Кроме того, есть ли способ преобразовать набор геометрических границ в эти обозначения, если я хочу перемещать / изменять размеры этих овалов?

Обновление: по-видимому, каждый объект также имеет свойство "ItemTransform". Это может быть необходимо для расчета?

...