HTML5とは、現在、Web作成に主として使用されているマークアップ言語HTML4の新しいバージョンです。
HTML5のタグが、完全に表示できるブラウザはまだ存在しません。
しかし、Canvas要素を始めとして徐々に対応が進んでいます。
HTML5の、簡単なサンプルは以下のようになります。
<!DOCTYPE html>
<html>
<head>
<title>HTML5サンプル1</title>
<meta charset="UTF-8">
</head>
<body>
<h1>HTML5サンプル1</h1>
<p>
段落
</p>
</body>
</html>
<!DOCTYPE html>
<meta charset="UTF-8">
Canvas要素によって、グラフィックスを描画することができます。
現在、標準で表示できるのは2Dの描画ですが、WebGLによって3Dの描画もできるようになりつつあります。
Canvasによって、文字列を表示するHTML文書です。
<!DOCTYPE html>
<html>
<head>
<title>Canvasサンプル1</title>
<meta charset="UTF-8">
</head>
<body>
<h1>Canvasサンプル1</h1>
<canvas id="canvas1" width=100 height=100></canvas>
<script type="text/javascript">
var canvas = document.getElementById("canvas1");
var context = canvas.getContext("2d");
context.fillText("Hello World", 100, 100);
</script>
</body>
</html>
<canvas id="canvas1" width=100 height=100></canvas>
<script type="text/javascript">
var canvas = document.getElementById("canvas1");
var context = canvas.getContext("2d");
context.fillText("Hello World", 100, 100);
Canvasによって、四角形と直線を表示するHTML文書です。
<!DOCTYPE html>
<html>
<head>
<title>Canvasサンプル2</title>
<meta charset="UTF-8">
</head>
<body>
<h1>Canvasサンプル2</h1>
<canvas id="canvas2" width=300 height=300></canvas>
<script type="text/javascript">
var canvas = document.getElementById("canvas2");
var context = canvas.getContext("2d");
context.fillRect(0, 0, 100, 100);
context.strokeRect(100, 100, 50, 50);
context.beginPath();
context.moveTo(10, 200);
context.lineTo(100, 250);
context.moveTo(100, 250);
context.lineTo(200, 200);
context.rect(150, 250, 50, 50);
context.stroke();
context.closePath();
</script>
</body>
</html>
context.fillRect(0, 0, 100, 100);
context.strokeRect(100, 100, 50, 50);
context.beginPath();
context.moveTo(10, 200);
context.lineTo(100, 250);
context.rect(150, 250, 50, 50);
context.stroke();
context.closePath();
Canvasによって、画像を表示するHTML文書です。
(サンプル画像)
<!DOCTYPE html>
<html>
<head>
<title>Canvasサンプル3</title>
<meta charset="UTF-8">
</head>
<body>
<h1>Canvasサンプル3</h1>
<canvas id="canvas3" width=300 height=300></canvas>
<script type="text/javascript">
var canvas = document.getElementById("canvas3");
var context = canvas.getContext("2d");
var image = new Image();
image.onload = function() {
var w = canvas.width/2;
var h = canvas.height/2;
context.drawImage(image, 0, 0, w, h);
context.drawImage(image, w, h, w, h);
};
image.src = "neko.png";
</script>
</body>
</html>
var image = new Image();
image.onload = function() {
var w = canvas.width/2;
var h = canvas.height/2;
context.drawImage(image, 0, 0, w, h);
image.src = "neko.png";
円を描画し、指定した色で塗りつぶします。
<!DOCTYPE html>
<html>
<head>
<title>Canvasサンプル4</title>
<meta charset="UTF-8">
</head>
<body>
<h1>Canvasサンプル4</h1>
<canvas id="canvas4" width=300 height=300></canvas>
<script type="text/javascript">
var canvas = document.getElementById("canvas4");
var context = canvas.getContext("2d");
context.fillStyle = "#FF0000";
context.beginPath();
context.arc(100, 100, 100, 0, Math.PI*2, true);
context.closePath();
context.fill();
context.fillStyle = "rgb(0, 0, 255)";
context.beginPath();
context.arc(200, 100, 100, 0, Math.PI*2, true);
context.closePath();
context.fill();
context.fillStyle = "rgba(0, 255, 0, 0.5)";
context.beginPath();
context.arc(200, 200, 100, 0, Math.PI*2, true);
context.closePath();
context.fill();
</script>
</body>
</html>
context.fillStyle = "#FF0000";
context.beginPath();
context.arc(100, 100, 100, 0, Math.PI*2, true);
context.closePath();
context.fill();
context.fillStyle = "rgb(0, 0, 255)";
context.fillStyle = "rgba(0, 255, 0, 0.5)";
簡単なアニメーションのサンプルです。
<!DOCTYPE html>
<html>
<head>
<title>Canvasサンプル5</title>
<meta charset="UTF-8">
</head>
<body>
<h1>Canvasサンプル5</h1>
<canvas id="canvas5" width=300 height=300></canvas>
<script type="text/javascript">
var canvas = document.getElementById("canvas5");
var context = canvas.getContext("2d");
var x = 10;
var y = 10;
var dx = 2;
var dy = 2;
function draw() {
context.clearRect(0, 0, canvas.width, canvas.height);
context.fillRect(x, y, 30, 30);
x += dx;
y += dy;
if(x > canvas.width - 30 || y > canvas.height - 30)
{
x = 10;
y = 10;
}
}
setInterval(draw, 10);
</script>
</body>
</html>
function draw() {
context.clearRect(0, 0, canvas.width, canvas.height);
context.fillRect(x, y, 30, 30);
setInterval(draw, 10);