Rough.js
- Rough.js é uma pequena biblioteca gráfica que permite desenhar gráficos com um estilo artesanal, semelhante a um esboço.
- Define formas básicas para desenhar linhas, curvas, arcos, polígonos, círculos e elipses, além de oferecer suporte para desenhar caminhos SVG.
- Rough.js funciona tanto com canvas quanto com SVG.
Instalação
- Instalação via npm:
npm install --save roughjs
- Uso no código:
import rough from 'roughjs';
Como usar
- A API completa do Rough.js pode ser consultada no Github.
- Exemplo de uso com canvas:
const rc = rough.canvas(document.getElementById('canvas')); rc.rectangle(10, 10, 200, 200);
- Exemplo de uso com SVG:
const rc = rough.svg(svg); let node = rc.rectangle(10, 10, 200, 200); svg.appendChild(node);
Linhas e elipses
- Exemplo de desenho de círculos, elipses e linhas:
rc.circle(80, 120, 50); rc.ellipse(300, 100, 150, 80); rc.line(80, 120, 300, 100);
Preenchimento
- Os estilos de preenchimento incluem hachure (padrão), solid, zigzag, cross-hatch, dots, sunburst, dashed, zigzag-line, entre outros.
- Exemplo de preenchimento:
rc.circle(50, 50, 80, { fill: 'red' }); rc.rectangle(120, 15, 80, 80, { fill: 'red' });
Estilo de esboço
- Exemplo de ajuste do estilo de esboço:
rc.rectangle(15, 15, 80, 80, { roughness: 0.5, fill: 'red' }); rc.rectangle(220, 15, 80, 80, { bowing: 6, stroke: 'green', strokeWidth: 3 });
Caminhos SVG
- Exemplo de desenho de caminho SVG:
rc.path('M80 80 A 45 45, 0, 0, 0, 125 125 L 125 80 Z', { fill: 'green' });
Exemplos
- É possível ver exemplos aqui.
API & documentação
Créditos
- O algoritmo principal para desenhar contornos de linhas e elipses foi adaptado da biblioteca handyprocessing.
- O algoritmo para converter arcos SVG em canvas foi adaptado da base de código da Mozilla.
Apoie este projeto
- Você pode apoiar este projeto por meio do Github Sponsors ou do Open Collective.
- Este projeto recebe apoio de Excalidraw, Cube, Diagrams.net, Terrastruct, SheetJS, Poster Maker, Chartle e outros.
Licença
- Licença MIT, copyright de Preet Shihn.
Opinião do GN⁺
- Rough.js é uma biblioteca inovadora que permite aos usuários implementar facilmente gráficos com estilo de desenho artesanal na web.
- A possibilidade de ajustar diversos estilos de preenchimento e estilos de esboço adiciona uma nova dimensão ao design gráfico baseado na web.
- A biblioteca conta com o apoio da comunidade open source e está integrada a várias ferramentas web, contribuindo para enriquecer a experiência do usuário.
1 comentários
Opiniões do Hacker News
Casos de uso de RoughNotation & RoughJS
Wired Elements & svg2roughjs
svg2roughjspara converter arquivos SVG em esboços.Criação de mockups interativos com RoughJS
Os diversos usos do RoughJS
Este resumo mostra, a partir dos comentários do Hacker News, vários casos de uso de RoughJS e ferramentas relacionadas, além das experiências positivas dos usuários. RoughJS é uma biblioteca JavaScript que permite criar gráficos em estilo de esboço desenhado à mão, é popular entre desenvolvedores web e é usada para criar diversos componentes web, como mockups, gráficos e elementos interativos.