Html5-canvas-rotation
提供:Dev Guides
HTML5キャンバス-回転
HTML5キャンバスは、* rotate(angle)*メソッドを提供し、現在の原点を中心にキャンバスを回転させるために使用されます。
このメソッドはパラメーターを1つだけ取り、それがキャンバスの回転角度です。 これは、ラジアン単位で測定される時計回りの回転です。
例
以下は、最初のループがリングの数を決定し、2番目のループが各リングに描かれるドットの数を決定する2つのループを実行している簡単な例です。
<!DOCTYPE HTML>
<html>
<head>
<style>
#test {
width: 100px;
height:100px;
margin: 0px auto;
}
</style>
<script type = "text/javascript">
function drawShape() {
//get the canvas element using the DOM
var canvas = document.getElementById('mycanvas');
//Make sure we don't execute when canvas isn't supported
if (canvas.getContext) {
//use getContext to use the canvas for drawing
var ctx = canvas.getContext('2d');
ctx.translate(100,100);
for (i = 1; i<7; i++) {
ctx.save();
ctx.fillStyle = 'rgb('+(51*i)+','+(200-51*i)+',0)';
for (j = 0; j < i*6; j++) {
ctx.rotate(Math.PI*2/(i*6));
ctx.beginPath();
ctx.arc(0,i*12.5,5,0,Math.PI*2,true);
ctx.fill();
}
ctx.restore();
}
} else {
alert('You need Safari or Firefox 1.5+ to see this demo.');
}
}
</script>
</head>
<body id = "test" onload = "drawShape();">
<canvas id = "mycanvas" width = "400" height = "400"></canvas>
</body>
</html>
上記の例では、次の結果が生成されます-