画像やアニメーションは魅力的で楽しく、文字だけでは処理や理解が難しい情報を伝えるのに最適です。これは、カメラで撮影した写真だけでなく、コンピュータを使用して作成した図面にも当てはまります。この記事では、無料でオープンソースの最高の JavaScript 描画ライブラリをいくつか紹介します。
HTML5 canvas
要素や SVG などのテクノロジーを使用して、ブラウザーで必要なものを描画するための無料ライブラリが多数あります。これらのライブラリが提供する API を使用して描画できるだけでなく、作成したものをアニメーション化することもできます。
Two.js
このライブラリについて気に入っていただける点が 2 つあります。まず第一に、それはレンダリングとは何の関係もありません。これは、同じ API を使用して、SVG または WebGL 経由でキャンバス要素にグラフィックを描画できることを意味します。このライブラリを使用するとき、この機能のおかげで何度も救われました。次に、このライブラリには、画面上に描画したものをアニメーション化する機能も組み込まれています。
また、さまざまなキーボードやマウスのイベントをリッスンして、画面上に描画されたさまざまな要素のサイズ、位置、色を更新することで、単純なゲームをより簡単に作成することもできます。
Jono Brandel による上記の例では、Two.js を使用して、アニメーション化された波状道路をキャンバス上に作成しています。公式ウェブサイトではさらに興味深いプロジェクトを見つけることができます。
Paper.js
canvas を使用して描画アニメーションを処理します。ただし、主な焦点はラスター イメージではなくベクトル ベースの描画です。
Point オブジェクトと
Size オブジェクトの計算が容易になるなど、いくつかの利点があります。
Alberto Jerez の上記の CodePen では、これらのレイヤーと合成関数を多数使用して、円が衝突すると形状が変化するという興味深い効果を作成しています。
P5.js
このライブラリは、人気のある Java 処理プラットフォームからインスピレーションを得たもので、行き詰まったときに役立つ活発なコミュニティがあります。このライブラリの機能を示す例が多数用意されています。インスピレーションを探しているときに非常に役立ちます。これらを使用して、物理をシミュレートする方法、粒子システムを作成する方法、さまざまなユーザー入力に反応する方法を学習できます。
Johan Karlsson による上記の例では、p5.js を使用して、キャンバス上をランダムに移動するいくつかの小さな昆虫を作成しています。デモ内の任意の場所をクリックすると、ランダムに配置された新しい蚊のセットが作成されます。
江華
このライブラリの特別な点は、画面上に描画するあらゆるものにイベント ハンドラーをアタッチできることです。キャンバス上で以前に描画したオブジェクトを選択して移動できます。描画する他のものに影響を与えることなく、選択したオブジェクトを拡大縮小したり回転したりすることもできます。
これらの機能は、単純なスケッチ アプリケーションやキャンバス上でのドラッグ アンド ドロップ ゲームの作成に役立つライブラリが必要なユーザーに最適です。グループを使用すると、複数の図形を一緒に移動したり操作したりできます。
上のシンプルなパズル ゲームは、Jakub Beneš によって Konva を使用して構築されました。基本的な考え方は、他のボックスとは少し異なる色のボックスを選択することです。
Fabric.js ライブラリは、Konva と同じ理念に基づいて構築されており、同じ機能を多く備えています。実際、Fabric.js は Konva よりも人気があり、活発に活動しているようです。
このライブラリは、canvas
要素上に構築された対話型オブジェクト モデルを提供します。これは基本的に、キャンバス上に幾何学的形状や画像などのさまざまなオブジェクトを描画して、後でそれらを操作できることを意味します。このライブラリを使用すると、キャンバス上に描画したものを移動、拡大縮小、回転するオプションがユーザーに提供され、シンプルなモックアップ アプリケーションやミーム ジェネレーターなどを構築できるようになります。
Martin Florian の上記の CodePen のキャンバスにテキストをドラッグするか、独自の図形や画像を追加してみてください。ライブラリのホームページでは、手描きや、パターンやグラデーションを使用して形状を塗りつぶすなど、その他の機能が紹介されています。
Snap.svg ライブラリは、SVG と JavaScript の機能を利用して解像度に依存しないベクター グラフィックスを作成したい人に人気の選択肢です。ライブラリはオープンソースであり、完全に無料で使用できます。
これには、既存の SVG コンテンツを操作してアニメーション化したり、SVG コンテンツを動的に生成したりできる、クリーンで強力な API が付属しています。このライブラリは、IE9 以降のサポートを念頭に置いて開発されました。これにより、開発者は古いブラウザのサポートを心配することなく、マスク、クリッピング、パターンなどの機能を簡単に提供できるようになります。
使いやすいライブラリには、fill
、Stroke
、StrokeWidth## などのキーと値のペアを使用して基本的な形状を作成し、プロパティを適用するための多くのメソッドが用意されています。 #。要素をグループ化して、複数の項目を一度に変更することもできます。さまざまなオブジェクトは、名前または適切な CSS セレクターによって簡単に参照できます。 Ronan Levesque が書いた以下の例を確認してください。
SVG.js
サイトのホームページで、Vanilla JS および Snap.svg と比較したパフォーマンスを確認できます。基本的なシェイプを作成し、組み込み関数を使用して DOM に追加できます。このライブラリには、画面上に描画したものの外観を操作するためのさまざまな関数が付属しています。また、イベント リスナーもサポートしているため、ユーザー インタラクションに基づいて SVG 要素を変更またはアニメーション化する機能を実装できます。
上記の George Francis の CodePen のさまざまなオプションの値を変更して、SVG.js を使用して固有のパターンを生成してみてください。
JS シーケンス図
このライブラリは、JavaScript を使用して簡単な SVG ベースのシーケンス図を迅速に作成します。必要なのは、有効なテキスト表現を与えることだけです。気に入らないかもしれない点の 1 つは、このライブラリが適切に動作するために他の多数のライブラリに依存していることです。これには、Snap.svg、Web フォント ローダー、underscore.js、およびオプションで jQuery が含まれます。
ただし、このライブラリは、大量のコードを記述することを気にせずに、そのようなチャートを迅速に生成したい人にとっては、依然として良い選択肢です。独自の CSS スタイルを適用して、さまざまなコンポーネントの色や塗りつぶしを変更することもできます。上記の E T デモを見て、コードを編集してチャートがどのように変化するかを確認してください。
###最終的な考え###
JavaScript を使用してオブジェクトを描画するために利用できる無料のライブラリが多数あります。この記事の目的は、固有の問題を解決する優れた機能セットを備えた人気のあるライブラリをいくつか紹介することです。この記事が、SVG を使用するだけでなく、キャンバス上に要素を描画およびアニメーション化できるライブラリの選択に役立つことを願っています。以上がトップ 8 JavaScript 描画ライブラリ: 無料かつオープンソースの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。