Flujo de trabajo para usar curvas bezier con Core Animation

Recientemente trabajé en un proyecto que hizo amplio uso de Core Animation. Los resultados fueron bastante buenos. Idealmente, habría utilizado capas y curvas bezier para el movimiento.

¿Alguien tiene un buen flujo de trabajo para crear los puntos de datos para luego usarlos al crear una curva? Me perdí un poco con los puntos de control. Conceptualmente, entiendo lo que está sucediendo.

¿Hay algún software de terceros que le permita crear visualmente una curva Bezier y luego exportarlo a un file de text para includelo en el código fuente?

Esto probablemente no sea tan sencillo como lo está buscando, pero OmniGraffle exporta sus escenas en XML suponiendo que no las comprime. Si conoce Python, o algún otro lenguaje de scripting con soporte xml, es bastante sencillo analizar el XML para get los valores bezier allí. Estoy usando este enfoque para generar routes de mayor valor de CoreAnimation y funciona bien.

Entonces, más o less lo que estoy haciendo:

  1. Cree un rectángulo de reference en OmniGraffle con el mismo tamaño de píxel que su pantalla.

  2. Dibuja algunas curvas más bonitas.

  3. Guarde el file como XML (asegúrese de que la compression esté desactivada en alguna paleta)

  4. Usando python / XML, analice los datos de la curva del file de escena guardada
  5. Guarde un recurso de file xml con una curva más agradable para que su aplicación lo lea.
  6. Escriba el código en su aplicación para cargar el XML y cree curvas CoreAnimation usando los valores de bezier del file

Gratuito http://inkscape.org/ tiene capacidades de edición XML compatibles con el formatting SVG http://www.w3.org/Graphics/SVG/

Permite dibujar más y exportar sus parameters.