Rough.js
- Rough.js es una pequeña biblioteca gráfica que permite dibujar gráficos con un estilo de dibujo manual tipo boceto.
- Define formas básicas para dibujar líneas, curvas, arcos, polígonos, círculos y elipses, y también soporta el dibujo de rutas SVG.
- Rough.js funciona tanto con canvas como con SVG.
Instalación
- Instalar con npm:
npm install --save roughjs
- Usar en el código:
import rough from 'roughjs';
Uso
- La API completa de Rough.js se puede consultar en Github.
- Ejemplo de uso con canvas:
const rc = rough.canvas(document.getElementById('canvas')); rc.rectangle(10, 10, 200, 200);
- Ejemplo de uso con SVG:
const rc = rough.svg(svg); let node = rc.rectangle(10, 10, 200, 200); svg.appendChild(node);
Líneas y elipses
- Ejemplo para dibujar círculos, elipses y líneas:
rc.circle(80, 120, 50); rc.ellipse(300, 100, 150, 80); rc.line(80, 120, 300, 100);
Relleno
- Los estilos de relleno incluyen hachure (predeterminado), solid, zigzag, cross-hatch, dots, sunburst, dashed, zigzag-line, entre otros.
- Ejemplo de relleno:
rc.circle(50, 50, 80, { fill: 'red' }); rc.rectangle(120, 15, 80, 80, { fill: 'red' });
Estilo de boceto
- Ejemplo de ajuste del estilo de boceto:
rc.rectangle(15, 15, 80, 80, { roughness: 0.5, fill: 'red' }); rc.rectangle(220, 15, 80, 80, { bowing: 6, stroke: 'green', strokeWidth: 3 });
Rutas SVG
- Ejemplo para dibujar una ruta SVG:
rc.path('M80 80 A 45 45, 0, 0, 0, 125 125 L 125 80 Z', { fill: 'green' });
Ejemplos
- Los ejemplos se pueden ver aquí.
API y documentación
Créditos
- El algoritmo principal para dibujar contornos de líneas y elipses fue adaptado de la biblioteca handyprocessing.
- El algoritmo para convertir arcos SVG a canvas fue adaptado de la base de código de Mozilla.
Apoya este proyecto
- Puedes apoyar este proyecto a través de Github Sponsors u Open Collective.
- Este proyecto recibe apoyo de Excalidraw, Cube, Diagrams.net, Terrastruct, SheetJS, Poster Maker, Chartle y otros.
Licencia
- Licencia MIT, copyright de Preet Shihn.
Opinión de GN⁺
- Rough.js es una biblioteca innovadora que permite a los usuarios implementar fácilmente gráficos con estilo de dibujo manual en la web.
- La posibilidad de ajustar distintos estilos de relleno y de boceto aporta una nueva dimensión al diseño gráfico basado en la web.
- Esta biblioteca cuenta con el apoyo de la comunidad de código abierto y está integrada con diversas herramientas web, contribuyendo a enriquecer la experiencia del usuario.
1 comentarios
Opiniones de Hacker News
Casos de uso de RoughNotation y RoughJS
Wired Elements y svg2roughjs
Creación de mockups interactivos con RoughJS
Usos diversos de RoughJS
Este resumen muestra diversos casos de uso de RoughJS y herramientas relacionadas, así como experiencias positivas de los usuarios en los comentarios de Hacker News. RoughJS es una librería de JavaScript que permite crear gráficos con estilo de boceto dibujado a mano, es popular entre desarrolladores web y se usa para crear mockups, gráficas, elementos interactivos y varios componentes web.