Sobre el proyecto
Drawlib es una biblioteca de dibujo en Python puro diseñada para lograr "Illustration as Code": se escribe código Python que define elementos de dibujo (coordenadas, tamaños, ángulos) y estilos (colores, grosores de línea, fuentes), y al ejecutar el código se genera una imagen. Separa el contenido (como HTML) del estilo (como CSS), lo que permite un estilo coherente en muchos elementos y un control de versiones sencillo de las ilustraciones junto con la documentación.
Las características clave incluyen:
- Elementos de dibujo: iconos (más de 1500 patrones en 5 estilos), imágenes (con efectos), líneas (múltiples estilos, incluidas curvas y Bézier), formas (alrededor de 20 patrones) y texto (varios tamaños, fuentes, grosores, compatible con los principales idiomas locales).
- Una clase Style unificada para la apariencia visual y un módulo de acceso a temas/estilos (dtheme).
- Configuración del lienzo: tamaño (en unidades de coordenadas), DPI para la resolución y visualización opcional de cuadrícula.
- Controles de alineación (halign/valign) para una colocación precisa.
- Funciones avanzadas como un resaltador de código implementado como smart art.
- Una herramienta de línea de comandos (drawlib) para generar muchas imágenes, útil en canalizaciones de CI/CD.
La biblioteca se inspira en funciones de Microsoft PowerPoint y pretende implementar capacidades de dibujo populares. Es especialmente adecuada para documentación técnica y libros donde las imágenes deben controlarse por versiones y generarse mediante programación.
La instalación se realiza con pip (`pip install drawlib`). El inicio rápido muestra cómo importar todas las API con `from drawlib.apis import *`, configurar el lienzo con `config(width=100, height=100)`, dibujar elementos como `line()`, `circle()`, `image()`, `text()` y guardar con `save()`. La API se organiza en clases/funciones fundamentales, funciones de dibujo, clases de estilo, accesores de temas y clases avanzadas. Mantiene la coherencia en los argumentos de las funciones y las clases de estilo, lo que hace que los resultados sean predecibles una vez que se comprenden los conceptos básicos.
Drawlib también proporciona una clase `Dimage` para la manipulación de imágenes (por ejemplo, espejo, sepia) y admite imágenes de Pillow. La documentación está disponible en drawlib.com/docs/.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.