HTMLキャンバスグラフィック
HTML<canvas>
要素は、Webページにグラフィックを描画するために使用されます。
左の図は。で作成されてい<canvas>
ます。これは、赤い長方形、グラデーションの長方形、多色の長方形、および多色のテキストの4つの要素を示しています。
HTML Canvasとは何ですか?
HTML<canvas>
要素は、JavaScriptを介してその場でグラフィックを描画するために使用されます。
この<canvas>
要素は、グラフィックのコンテナにすぎません。実際にグラフィックを描画するには、JavaScriptを使用する必要があります。
Canvasには、パス、ボックス、円、テキストを描画したり、画像を追加したりするためのいくつかの方法があります。
ブラウザのサポート
表の数字は、
<canvas>
要素を完全にサポートする最初のブラウザバージョンを示しています。
Element | |||||
---|---|---|---|---|---|
<canvas> | 4.0 | 9.0 | 2.0 | 3.1 | 9.0 |
キャンバスの例
キャンバスは、HTMLページ上の長方形の領域です。デフォルトでは、キャンバスには境界線もコンテンツもありません。
マークアップは次のようになります。
<canvas id="myCanvas" width="200" height="100"></canvas>
注:キャンバスのサイズを定義するには、常にid
属性(スクリプトで参照される)とawidth
および属性を指定してください。height
境界線を追加するには、style
属性を使用します。
基本的な空のキャンバスの例を次に示します。
例
<canvas id="myCanvas" width="200" height="100"
style="border:1px solid
#000000;">
</canvas>
JavaScriptを追加する
長方形のキャンバス領域を作成したら、JavaScriptを追加して描画を行う必要があります。
ここではいくつかの例を示します。
線を引く
例
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.moveTo(0, 0);
ctx.lineTo(200, 100);
ctx.stroke();
</script>
円を描く
例
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.beginPath();
ctx.arc(95, 50, 40, 0, 2 * Math.PI);
ctx.stroke();
</script>
テキストを描く
例
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.font = "30px Arial";
ctx.fillText("Hello World", 10, 50);
</script>
ストロークテキスト
例
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.font = "30px Arial";
ctx.strokeText("Hello World", 10, 50);
</script>
線形グラデーションを描く
例
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
// Create gradient
var grd = ctx.createLinearGradient(0, 0, 200, 0);
grd.addColorStop(0, "red");
grd.addColorStop(1, "white");
// Fill with gradient
ctx.fillStyle = grd;
ctx.fillRect(10, 10, 150, 80);
</script>
円形のグラデーションを描く
例
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
// Create gradient
var grd = ctx.createRadialGradient(75, 50, 5, 90, 60, 100);
grd.addColorStop(0, "red");
grd.addColorStop(1, "white");
// Fill with gradient
ctx.fillStyle = grd;
ctx.fillRect(10, 10, 150, 80);
</script>
画像を描く
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var img = document.getElementById("scream");
ctx.drawImage(img, 10, 10);
</script>
HTMLCanvasチュートリアル
詳細については、 HTMLCanvasチュートリアル<canvas>
をご覧ください。