Canvas Box Shadow: Heart shape
HTML
<!-- HTMLファイルです。canvasを作ります。絵はcanvasで書きます。-->
<canvas id=myCanvas width=400 height=400 style="border:1px solid #000">
</canvas>
JavaScript
var W = 400;
var H = 400;
var Sin = Math.sin;
var Cos = Math.cos;
with(document.getElementById('myCanvas').getContext('2d')) {
beginPath();
strokeStyle = "#ff0000"; // 赤い色を使う
for (var i = 0; i < 360; i++) {
// ポイントの座標を計算する
// ハート実は360の線で描かされます
var r = i / 360 * Math.PI * 2;
var x = W / 2 + 180 * Math.pow(Sin(r), 3);
var y = H / 2 + 10 * (-(15 * Cos(r) - 5 * Cos(2 * r) - 2 * Cos(3 * r) - Cos(4 * r)));
lineTo(x, y); // 前のポイントから今のポイント(x、y)まで線を描く
}
stroke(); // 書きます
closePath();
// canvas真ん中でサイズ100x100の青い四角形を描きたいなら
beginPath();
strokeStyle = "#00ff00";
lineTo(W / 2 - 50, H / 2 + 50);
lineTo(W / 2 + 50, H / 2 + 50);
lineTo(W / 2 + 50, H / 2 - 50);
lineTo(W / 2 - 50, H / 2 - 50);
lineTo(W / 2 - 50, H / 2 + 50);
stroke();
closePath();
}