Вычислить конечную позицию фигуры в OpenXML при внедрении в повернутую группу - PullRequest
0 голосов
/ 03 ноября 2018

Мне нужно определить положение изображений в PPTX (OpenXML slideXX.xml) файлах. Мы выяснили большинство вещей (a:off, a:chOff, a:chOff и a:chExt понятны). Если у нас есть документ со всеми видами группировки, это хорошо работает, и мы можем определить точное положение каждого содержащегося "pic" объекта.

Тем не менее, мы сталкиваемся с проблемами, когда происходит вращение (не математика для поворота точки вокруг центра, которая проверяется и проверяется дважды). Если вращается только один пик-узел, это легко, и мы получаем правильное положение и угол. Однако, когда мы начинаем вращать группы, у нас возникают проблемы с определением правильных положений.

Может ли кто-нибудь указать порядок, в котором нам нужно вычислить баллы, и какую точку нам нужно учитывать (centers, (x,y))? Нужно ли работать сверху вниз (group1 -> group2 -> pic) или снизу вверх (pic -> group2 -> group1)? Все ли мы сглаживаем, как вращение работает с разгруппировкой / сглаживанием?

Мой пример прост:

  • слайд с 4-мя одинаковыми изображениями (для простоты каждое изображение размером 200x100, выстроенное в квадрат 400x200, вверху слева, вверху справа, внизу слева и внизу справа)
  • Поверните "bottom-right" изображение 45 градусов, сгруппируйте его с левым нижним изображением. Также сгруппируйте два верхних изображения и, наконец, сгруппируйте обе группы вместе.
  • Затем поверните последнюю группу также на 45 градусов (что позволяет повернуть повернутое изображение на 90 градусов, а остальные три 45 градусов). скриншот слайда

Я не могу найти правильный порядок работы в дереве XML и в каком порядке мне нужно применить ротацию.

Буду признателен за любую помощь: хорошее объяснение, ясный пример или фрагмент (псевдо) -кода), который указывает мне правильное направление.

...