Рабочий процесс для использования кривых Безье с Core Animation - PullRequest
4 голосов
/ 02 июня 2011

Я недавно работал над проектом, который широко использовал Core Animation. Результаты были довольно хорошими. В идеале я бы использовал слои и кривые Безье для движения.

Есть ли у кого-нибудь хороший рабочий процесс для создания точек данных, которые затем используются при создании кривой? Я немного потерялся с контрольными точками. Концептуально я понимаю, что происходит.

Существует ли стороннее программное обеспечение, которое позволит вам визуально создать кривую Безье и затем экспортировать ее в текстовый файл для включения в исходный код?

Ответы [ 2 ]

1 голос
/ 13 ноября 2011

Возможно, это не так просто, как вам нужно, но OmniGraffle экспортирует свои сцены в XML, если вы не сжимаете их. Если вы знаете Python или какой-либо другой язык сценариев с поддержкой xml, то достаточно просто проанализировать XML, чтобы получить более подходящие значения в нем. Я использую этот подход для генерации путей Безье в CoreAnimation, и он хорошо работает.

Итак, примерно то, что я делаю:

  1. Создайте ссылочный прямоугольник в OmniGraffle с тем же размером пикселя как ваш дисплей

  2. Нарисуйте несколько кривых Безье.

  3. Сохраните файл в формате XML (убедитесь, что сжатие отключено в палитре где-то)

  4. Использование python / XML для анализа данных кривой из сохраненного файла сцены
  5. Сохраните более привлекательный ресурс XML-файла, доступный только для кривой, для чтения приложением.
  6. Напишите код в вашем приложении для загрузки XML и создания CoreAnimation кривые с использованием значений Безье из файла
1 голос
/ 19 октября 2011

Бесплатно http://inkscape.org/ имеет возможности редактирования XML, совместимые с форматом SVG http://www.w3.org/Graphics/SVG/

Позволяет рисовать без рисунка и экспортировать их параметры.

...