4 puntos por GN⁺ 2023-12-23 | 1 comentarios | Compartir por WhatsApp

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

  • API completa de Rough.js

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

 
GN⁺ 2023-12-23
Opiniones de Hacker News
  • Casos de uso de RoughNotation y RoughJS

    • Se menciona RoughNotation, que usa RoughJS para admitir subrayados, resaltados y más.
    • Se comparte un ejemplo implementado a partir de la inspiración tomada de su propio sitio web, donde al pasar el mouse sobre un título resaltado se indica consultar un texto que resume cómo funciona.
    • Se enumeran publicaciones relacionadas de Hacker News y la cantidad de comentarios de cada una para mostrar la popularidad y los casos de uso de RoughJS.
  • Wired Elements y svg2roughjs

    • Se presenta Wired Elements, un conjunto de componentes web que usa RoughJS para renderizar en estilo de boceto.
    • Se comparte la experiencia de haber creado el wrapper svg2roughjs para convertir archivos SVG en bocetos.
  • Creación de mockups interactivos con RoughJS

    • Se presenta un caso de uso para crear mockups interactivos junto con WiredJS.
    • Se proporcionan enlaces a un ejemplo de mockup y al código fuente.
  • Usos diversos de RoughJS

    • Una opinión dice que le gusta el efecto de RoughJS en comparación con Excalidraw.
    • Se menciona un caso de uso de RoughJS en horserecords.info.
    • Se comparte la experiencia de implementar el generador "Sketchify" dentro de Boxy SVG, destacando como ventajas que RoughJS casi no tiene dependencias y puede ejecutarse dentro de web workers.
    • Se elogia la facilidad de uso de la librería y su estabilidad a lo largo del tiempo, mencionando como ejemplo su uso para crear gráficas en usdc.cool.
    • Se expresa agradecimiento a Rough.js y se comenta que fue divertido crear Sketchy Shapes para agregar al proyecto Hatch, ajustando parámetros en tiempo real.

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.