--- title: Canvas API slug: Web/API/Canvas_API tags: - API - Canvas - Graphics - Overview - Reference - キャンバス - グラフィック - 概要 translation_of: Web/API/Canvas_API ---
Canvas API は JavaScript と HTML の {{HtmlElement("canvas")}} 要素によってグラフィックを描く方法を提供します。他にも、アニメーション、ゲームのグラフィック、データの可視化、写真加工、リアルタイム動画処理などに使用することができます。
Canvas API は全体的に 2D グラフィックを対象としています。 WebGL API は、こちらも <canvas>
要素を使用して、ハードウェアで高速化された 2D および 3D グラフィックを描きます。
この単純な例は、キャンバス上に緑の四角形を描きます。
<canvas id="canvas"></canvas>
{{domxref("Document.getElementById()")}} メソッドで、 HTML の <canvas>
要素への参照を取得します。次に、 {{domxref("HTMLCanvasElement.getContext()")}} メソッドで要素のコンテキストを取得します。 — ここに描画されたものが表示されます。
実際の描画は {{domxref("CanvasRenderingContext2D")}} インターフェイスを用いて行われます。 {{domxref("CanvasRenderingContext2D.fillStyle", "fillStyle")}} プロパティは四角形を緑にします。 {{domxref("CanvasRenderingContext2D.fillRect()", "fillRect()")}} メソッドはこれを左上から (10, 10) の位置で、幅を150単位、高さを100単位の寸法を与えます。
const canvas = document.getElementById('canvas'); const ctx = canvas.getContext('2d'); ctx.fillStyle = 'green'; ctx.fillRect(10, 10, 150, 100);
{{ EmbedLiveSample('Basic_example', 700, 180) }}
メモ: WebGLRenderingContext
に関するインターフェイスは、WebGL に掲載しています。
{{domxref("CanvasCaptureMediaStream")}} は関連するインターフェイスです。
<canvas>
の基本的な使いかたと高度な機能の両方をカバーする網羅的なチュートリアル。Canvas API は非常に強力ですが、利用するのは単純とは限りません。以下に挙げたライブラリは、キャンバスベースのプロジェクトの作成をより速くより手軽にできるようにします。
メモ: WebGL を使用する 2D および 3D のライブラリについては WebGL API を参照してください。
仕様書 | 状態 | 備考 |
---|---|---|
{{SpecName('HTML WHATWG', '#2dcontext', 'the 2D rendering context')}} | {{Spec2('HTML WHATWG')}} |
Mozilla アプリケーションは <canvas>
の対応を Gecko 1.8 (Firefox 1.5) から始めました。この要素はもともと Apple が OS X Dashboard や Safari のために導入したものでした。 Internet Explorer は <canvas>
をバージョン9から対応しており、それ以前のバージョンの IE では、ページに効率的に <canvas>
の対応を追加するために Google の Explorer Canvas プロジェクトによるスクリプトを利用することができます。 Google Chrome や Opera 9 も <canvas>
に対応しています。