|
みなさんこんにちは、エチャです。 最近、ファンの方から、HTML5で花火、糸車、三目並べ、スロットマシン、紙吹雪のお祝いなどのエフェクトを作成できるかどうかというお問い合わせをいただきました。実は、これらは市場でよく見かけるものです。2023年春には、これらに関する高品質な記事と画像を公開しましたので、ご興味のある方はぜひご覧ください。 2023年の新年の挨拶を送るための数行のコード 本日は、Web開発における強力な描画技術であるCanvasについて解説します。Canvasは、様々な興味深いインタラクティブ効果やダイナミックなグラフィックを作成できる技術です。また、Canvas技術をより深く探求し、応用するためのインスピレーションとアイデアを提供するために、20の優れたオープンソースCanvasプロジェクトを紹介します。気に入っていただけたら、ぜひ高評価、保存、お友達とのシェア、そしてフォローをお願いします! 全文概要
ラッキーキャンバス公式サイト:https://100px.net/ Github: https://github.com/buuing/lucky-canvas TS + Canvasを用いて開発された、回転ホイール/グリッド/スロットマシンを備えた宝くじプラグインです。単一のソースコードで、JS、Vue、React、Taro、UniApp、WeChatミニプログラムなど、複数のフレームワークに対応しています。賞品、テキスト、画像、色、ボタンなど、すべて自由に設定可能です。同期/非同期の宝くじに対応し、フロントエンドとバックエンドの両方で確率を制御できます。モバイルデバイスに合わせて、DPR(Depth Per Count)に基づいて鮮明度を自動調整します。 エクスカリドロー公式サイト:https://excalidraw.com/ Github: https://github.com/excalidraw/excalidraw Excalidraw は、シンプルで直感的なグラフィックやスケッチを作成し、共有と共同作業をサポートするために主に使用されるオープンソースのオンライン ホワイトボード ツールです。 特徴 Excalidraw の主な機能は次のとおりです。
Excalidraw エディター (npm パッケージ) は以下をサポートします。
花火-js公式サイト:https://fireworks.js.org/ Github: https://github.com/crashmax-dev/fireworks-js fireworks-jsは、Webページに花火効果を作成するためのCanvasベースのアニメーションライブラリです。主な機能は以下のとおりです。
このプロジェクトは、複数のフレームワークの実装を提供します。 キャンバスエディターオンラインデモ: https://hufe.club/canvas-editor/ Github: https://github.com/Hufe921/canvas-editor canvas-editorは、Wordに似た、canvas/SVGベースのリッチテキストエディタです。以下の機能があります。
ラッキーシート公式サイト: https://dream-num.github.io/LuckysheetDocs/ Github: https://github.com/dream-num/Luckysheet Luckysheetは、Excelに似た、強力な機能、シンプルな設定、そして完全なオープンソースを誇る、純粋なフロントエンドCanvasベースのオンラインスプレッドシートです。以下の機能を備えています。
キャンバス紙吹雪公式サイト:https://www.kirilv.com/canvas-confetti/ Github: https://github.com/catdad/canvas-confetti canvas-confettiは、Webページ上にクールでカラフルな紙吹雪アニメーション効果を作成するためのCanvasベースのライブラリです。高性能で滑らかな紙吹雪アニメーションを実現しながら、様々な最新ブラウザとの互換性も維持しています。紙吹雪の色、形、量、速度、角度、エミッターの位置など、多くのカスタマイズ可能なオプションが用意されており、様々な紙吹雪エフェクトを簡単に作成できます。また、ボタンクリック、ページスクロール、時間指定トリガーなど、複数のトリガー方法をサポートしており、特定のニーズに合わせてカスタマイズできます。 x-スプレッドシート公式サイト: https://myliang.github.io/x-spreadsheet/ Github: https://github.com/myliang/x-spreadsheet x-spreadsheetは、Web(ES6)キャンバス上に構築された軽量なExcel開発ライブラリです。以下の機能を備えています。
QRCanvas公式サイト: https://gera2ld.github.io/qrcanvas/ Github: https://github.com/gera2ld/qrcanvas QRCanvasは、キャンバスをベースにしたJavaScriptのQRコード生成ツールです。以下の機能があります。
署名パッド公式サイト: http://szimek.github.io/signature_pad/ Github: https://github.com/szimek/signature_pad Signature Padは、署名を描画するためのCanvasベースの署名ライブラリです。外部ライブラリに依存することなく、すべての最新のデスクトップおよびモバイルブラウザで使用できます。Signature Padは、線の色、太さ、背景色、キャンバスサイズ、署名の形式など、多くのカスタマイズオプションを提供しており、さまざまな署名スタイルと機能を簡単に実現できます。 ラフ.js公式サイト:https://roughjs.com/ Github: https://github.com/rough-stuff/rough Rough.js は、約 8KB の軽量な Canvas ベースのグラフィックライブラリで、ラフな手描き風の描画が可能です。直線、曲線、円弧、多角形、円、楕円の描画に必要な基本機能に加え、SVG パスの描画もサポートしています。さらに、Rough.js は豊富なカスタマイズオプションを備えており、線幅、線の色、塗りつぶしの色、フォントスタイル、背景色などを調整して、グラフィックスをパーソナライズできます。 ファブリック公式サイト:http://fabricjs.com/ Github: https://github.com/fabricjs/fabric.js Fabric.js は、強力でありながらシンプルな JavaScript HTML5 Canvas ライブラリです。 Canvasは優れたキャンバス機能を提供しますが、APIはあまりユーザーフレンドリーではありません。単純な図形を描画するには問題ありませんが、複雑な図形を描画したり、複雑なエフェクトを作成したりするには不便です。Fabric.jsはこの問題に対処するために開発され、主にオブジェクト指向のコーディングアプローチを採用しています。 Fabric.jsでできること
柔軟で豊富なAPIと設定可能なパラメータを備え、複雑なエフェクトを簡単に実現できます。このオープンソースライブラリは、多くの開発者にプロジェクトの実践で広く利用されており、高い評価を得ています。 uCharts公式サイト:https://www.ucharts.cn/v2/#/ gitee: https://gitee.com/uCharts/uCharts uCharts は、開発者が Web、iOS、Android、ミニプログラムで使用できる単一のコード セットを記述できる、高性能なフロントエンド チャート ライブラリです。 あらゆるプラットフォームに対応しており、すぐに使用できます。PC、H5、ミニプログラム(WeChat/Alipay/Baidu/Toutiao/Lark/QQ/Kuaishou/DingTalk/Taobao/JD.com)、Vue、Taroなど、Canvasをサポートする多くのフレームワークをサポートしています。サイズが小さく、使いやすく、優れたパフォーマンスとユーザーエクスペリエンスを提供します。 uChartsはオープンソースの原則を遵守し、Apache License 2.0オープンソースライセンスに準拠しています。プロジェクトの実際の本番環境にも、無償で適用できます。 スプライトJS公式サイト: http://spritejs.com/ Gitee: https://github.com/spritejs/spritejs SpriteJSは、360 Qiwuチームによって開発されたオープンソースのクロスプラットフォームキャンバス描画フレームワークです。キャンバスをベースに構造化されたUI、アニメーション、インタラクティブエフェクトを素早く描画し、キャンバス環境を備えたあらゆるプラットフォーム(ブラウザ、ミニプログラム、Node.jsなど)に公開できます。 Canvas APIは様々なベクターグラフィックをCanvas上に柔軟に描画できることはご存じの通りですが、Canvas API自体は比較的低レベルです。例えば、ネイティブCanvas APIを使ってCanvasの中央に角丸の赤い四角形を描画したい場合、以下のように記述する必要があります。 同じ効果を得るには、SpriteJS を使用して次のように記述します。 Spriteはグラフィック用のDOMのようなオブジェクトモデルを作成するため、DOM要素を作成するのと同じようにSprite要素を作成し、レイヤーに追加してキャンバス上に要素をレンダリングできます。SpriteJSには以下の機能があります。
oキャンバス公式サイト:http://ocanvas.org/ github: https://github.com/koggdal/ocanvas oCanvasは、HTML5 Canvasの開発を簡素化するために設計されたJavaScriptライブラリです。ピクセルを操作するのではなく、オブジェクトを操作します。非常にシンプルで分かりやすいです。これらの例を見て、いかに簡単かをご確認ください。 oCanvasは、ネイティブのピクセル描画手法とキャンバス上に作成・追加されたオブジェクトとの間のギャップを埋めることで、キャンバス開発の理解と実行を容易にします。oCanvasが背景コンテンツを処理するため、オブジェクトの作成、プロパティの変更、イベントの追加が驚くほど簡単に、しかも完全にスムーズに行えます。 jCanvas公式サイト:https://projects.calebevans.me/jcanvas/ github: https://github.com/caleb531/jcanvas `<canvas>` 要素は HTML5 以外の新しい要素です。キャンバスと呼ばれる空白の要素に、図形、パス、画像、その他のグラフィックを描画できます。 キャンバスを作成する キャンバスに描画する前に、キャンバスを作成する必要があります。 もちろん、キャンバスの幅と高さは自由に設定できます。また、将来の参照用にキャンバスにIDを付与することもできます。 ちなみに、CSS を使用してキャンバスの幅と高さを正確に設定することはできません。キャンバス要素の幅と高さのプロパティを使用してのみ設定できます。 jCanvasをインポートする また、何らかの方法で (通常は <script> 要素を使用して) jCanvas をページに追加する必要があります。 Rグラフ公式サイト:https://www.rgraph.net/ github: https://github.com/heyesr/rgraph RGraphは、HTML5 Canvasタグを使用して実装されたチャート作成ライブラリです。このライブラリを使用して生成されたチャートはインタラクティブで、マウスをクリックしたりホバーしたりすると対応する情報が表示されます。また、チャートを動的に読み込み、特定のポイントを拡大表示することもできます。 2.js公式サイト:https://two.js.org/ github: https://github.com/jonobr1/two.js Two.jsは、最新のウェブブラウザ向けの2D描画APIです。SVG、Canvas、WebGLに対応しており、平面図形やアニメーションの作成をよりシンプルかつ容易に行えるように設計されています。 ペーパー.js公式サイト: http://paperjs.org/ Gitee: http://github.com/paperjs/paper.js Paper.jsは、HTML5 Canvasをベースに開発されたオープンソースのベクターグラフィックスクリプトフレームワークです。明瞭なシーングラフ、DOM、そして様々なベクターグラフィックやベジェ曲線を作成するための強力な機能を豊富に提供します。 イーゼルJS公式サイト: https://createjs.com/easeljs github: https://github.com/createjs EaselJS は、HTML5 Canvas 要素をラップする JavaScript ライブラリです。 ピクシ公式サイト:https://pixijs.com/ Gitee: https://github.com/pixijs/pixijs Pixi.js は、シームレスな Canvas フォールバックを提供し、デスクトップやモバイルを含む主要なブラウザーをサポートする 2D WebGL レンダラーです。 やっとコンピューター、キーボードであなたの知恵を解き放ち、人生を最大限に生きましょう。数行の数字、数文字で人生の美しさを丁寧に作り上げましょう。 |