Paso 12: Coordenadas XY de un SVG (código Python)
Introducción
Necesitamos una forma fácil de crear las imágenes que queremos dibujar, por lo que opté por usar Inkscape (que es gratis) para dibujar SVGs (gráficos vectoriales escalables). Un SVG es realmente un tipo de archivo basado en XML, por lo que se puede analizar fácilmente con python. Puede ser muy complicado, pero si limitamos nuestros dibujos en objetos de trazado, es simple.
El código de python que he escrito a continuación se puede ejecutar en su computadora para que usted puede ver la salida, una vez que usted entiende es fácil de implementar lo mismo en el Edison en nuestro controlador.
Dibujo
Primero instalar inkscape y dibujar algo sencillo con la herramienta línea (mi dibujo del logo de Intel se adjunta)
Asegúrese de que coordenadas son en absolutos siguiendo estos pasos:
- Mayús + control + p
- entrada/salida
- salida SVG
- datos de la ruta
- formato de cadena de ruta de acceso: absoluta
Si dibujar trazados complicados o utilizar las herramientas de trazado, asegúrese de primero "rompen" los caminos, o la secuencia de comandos no manejan.
Una vez que ha aplicado esa configuración, seleccione toda la imagen (ctrl + a) y para actualizar las coordenadas, y luego guardar como un svg
Usando coordenadas absolutas dramáticamente reduce el proceso que tenemos que hacer para activar caminos de SVG en segmentos definidos por pares de coordenadas x, y.
Código Python
Aquí le damos un poquito de código python que lee en un archivo SVG y, mediante el módulo "minidom", analiza el archivo de rutas.
Cada ruta consta de una serie de comandos (tal como soy ' o 'L') seguido de una coordenada. Estos son algunos ejemplos (leer esto para el meollo: enlace):
- Soy ' significa "mover la pluma a esta coordenada"
- soy ' significa, "mover la pluma este pariente lejano, a la posición actual"
- 'L' significa "mover la pluma a esta coordenada, al trazar una línea"
- soy ' significa, "mover la pluma este pariente lejano, a la posición actual, mientras que trazar una línea"
- Significa 'Z' o 'z'. "dibujar una línea hacia donde comenzamos (cerca de la forma)
Elegí al tratar con "M',"L"y"Z"en este ejemplo, por lo tanto, el requisito de coordenadas absolutas.
También he incluido un pequeño código que utiliza Matplotlib (una herramienta de trazado de python) para dibujar el SVG y guardarlo como un PNG para la visión.