bezierCurveTo( CP1横位置, CP1縦位置, CP2横位置, CP2縦位置, 横位置, 縦位置 );ずいぶん引数が多いな、と思ったかも知れません。このbezierCurveToは、曲線を描くために3つの位置の情報を必要とします。現在の位置から次の位置までの間に、「コントロールポイント」とか「ハンドル」とか呼ばれる2つの制御点があり、これらの位置に応じて曲線の曲がり具合が決まるような仕組みになっているのです。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
function draw(id) {
var canvas = document.getElementById(id);
if (canvas == null)
return false;
var context = canvas.getContext('2d');
context.fillStyle = "#EEEEFF";
context.fillRect(0, 0, 400, 300);
var n = 0;
var dx = 150;
var dy = 150;
var s = 100;
context.beginPath();
context.globalCompositeOperation = 'and';
context.fillStyle = 'rgb(100,255,100)';
var x = Math.sin(0);
var y = Math.cos(0);
var dig = Math.PI / 15 * 11;
context.moveTo(dx,dy);
for(var i = 0; i < 30; i++) {
var x = Math.sin(i * dig);
var y = Math.cos(i * dig);
context.bezierCurveTo(
dx + x * s,dy + y * s - 100,
dx + x * s + 100,dy + y * s,
dx + x * s,dy + y * s);
}
context.closePath();
context.fill();
context.stroke();
}
| << 前へ |