4 ポイント 投稿者 GN⁺ 2023-12-23 | 1件のコメント | WhatsAppで共有

Rough.js

  • Rough.jsは、スケッチのような手描きスタイルでグラフィックを描ける小さなグラフィックライブラリ。
  • 線、曲線、弧、多角形、円、楕円を描ける基本図形を備え、SVGパスの描画もサポート。
  • Rough.jsはCanvasとSVGの両方で動作。

インストール

  • npmでインストール: npm install --save roughjs
  • コードで使用: import rough from 'roughjs';

使い方

  • Rough.jsの全APIはGithubで確認可能。
  • Canvas使用例: const rc = rough.canvas(document.getElementById('canvas')); rc.rectangle(10, 10, 200, 200);
  • SVG使用例: const rc = rough.svg(svg); let node = rc.rectangle(10, 10, 200, 200); svg.appendChild(node);

線と楕円

  • 円、楕円、線を描く例: rc.circle(80, 120, 50); rc.ellipse(300, 100, 150, 80); rc.line(80, 120, 300, 100);

塗りつぶし

  • 塗りつぶしスタイルには hachure(デフォルト)、solidzigzagcross-hatchdotssunburstdashedzigzag-line などがある。
  • 塗りつぶし例: rc.circle(50, 50, 80, { fill: 'red' }); rc.rectangle(120, 15, 80, 80, { fill: 'red' });

スケッチスタイル

  • スケッチスタイル調整例: rc.rectangle(15, 15, 80, 80, { roughness: 0.5, fill: 'red' }); rc.rectangle(220, 15, 80, 80, { bowing: 6, stroke: 'green', strokeWidth: 3 });

SVGパス

  • SVGパス描画例: rc.path('M80 80 A 45 45, 0, 0, 0, 125 125 L 125 80 Z', { fill: 'green' });

  • ここで例を確認可能。

API & ドキュメント

  • Rough.jsの全API

クレジット

  • 線と楕円の輪郭を描く中核アルゴリズムはhandyprocessingライブラリから採用。
  • SVGの弧をCanvasに変換するアルゴリズムはMozillaコードベースから採用。

このプロジェクトを支援する

  • Github SponsorsまたはOpen Collectiveを通じてこのプロジェクトを支援できる。
  • このプロジェクトはExcalidraw、Cube、Diagrams.net、Terrastruct、SheetJS、Poster Maker、Chartleなどの支援を受けている。

ライセンス

  • MITライセンス、著作権はPreet Shihn。

GN⁺の意見

  • Rough.jsは、シンプルに手描きスタイルのグラフィックをWeb上で実装できる革新的なライブラリ。
  • 多様な塗りつぶしスタイルとスケッチスタイルを調整できる機能は、Webベースのグラフィックデザインに新たな次元をもたらす。
  • このライブラリはオープンソースコミュニティの支援を受け、さまざまなWebベースのツールと統合されることで、ユーザー体験を豊かにするのに貢献している。

1件のコメント

 
GN⁺ 2023-12-23
Hacker Newsの意見
  • RoughNotation と RoughJS の使用例

    • RoughJS を使って下線や強調表示などをサポートする RoughNotation への言及。
    • 自身のWebサイトから着想を得て実装した例として、ハイライトされた見出しにマウスを乗せると、動作の仕組みを要約した記事を参照するよう案内。
    • 関連する Hacker News の投稿とそのコメント数を列挙し、RoughJS の人気と使用例を示している。
  • Wired Elements と svg2roughjs

    • RoughJS を使ってスケッチ風にレンダリングする Web コンポーネントセットである Wired Elements を紹介。
    • SVG ファイルをスケッチに変換する svg2roughjs ラッパーを作った経験を共有。
  • RoughJS を活用したインタラクティブなモックアップ生成

    • WiredJS と併用してインタラクティブなモックアップを作る事例を紹介。
    • モックアップ例とソースコードへのリンクを提供。
  • RoughJS のさまざまな活用

    • Excalidraw と比較しつつ、RoughJS の効果を気に入っているという意見。
    • horserecords.info で RoughJS を使った事例。
    • Boxy SVG 内の "Sketchify" ジェネレーターを実装した経験を共有し、RoughJS は依存関係がほとんどなく、Web Worker 内で実行できる利点を強調。
    • ライブラリの使いやすさと長年にわたる安定性を称賛し、usdc.cool でチャート作成に使った事例。
    • Rough.js への感謝を述べ、Hatch プロジェクトに追加できる Sketchy Shapes を作り、リアルタイムでパラメーターを調整するのが楽しいという意見。

この要約は、Hacker News のコメントに見られる RoughJS および関連ツールの多様な活用事例と、ユーザーの前向きな体験を示している。RoughJS は手描き風のスケッチスタイルのグラフィックを作成できる JavaScript ライブラリで、Web 開発者の間で人気があり、モックアップ、チャート、インタラクティブ要素など、さまざまな Web コンポーネントの作成に使われている。