色を塗ったときに判るように、図形を重ねて描いてみる。2 つの図形を判りやすいように、c1・c2 と便宜上分けた。
★html 側
<canvas id="fillStyle"></canvas>
★Javascript 側
onload = function() {
// 画面ロード時に描画を実行
draw();
};
function draw() {
// id: fillStyle で 2 次元描画を行うことの定義(1 つめ)
var c1 = document.getElementById("fillStyle").getContext('2d');
// 1 つめの三角形を lineTo(); と closePath(); で描画。
c1.beginPath();
c1.moveTo(0, 30);
c1.lineTo(100, 60);
c1.lineTo(20, 70);
c1.closePath();
c1.stroke();
// 色を rgb(255, 0, 0) の赤で指定
c1.fillStyle = "rgb(255, 0, 0)";
// 色を塗る命令
c1.fill();
// id: fillStyle で 2 次元描画を行うことの定義(2 つめ)
var c2 = document.getElementById("fillStyle").getContext('2d');
// 2 つめの三角形を lineTo(); と closePath(); で描画。
c2.beginPath();
c2.moveTo(60, 0);
c2.lineTo(70, 90);
c2.lineTo(30, 100);
c2.closePath();
c2.stroke();
// 色を rgb(0, 0, 255) の青で指定
c2.fillStyle = "rgb(0, 0, 255)";
// 色を塗る命令
c2.fill();
}
// 画面ロード時に描画を実行
draw();
};
function draw() {
// id: fillStyle で 2 次元描画を行うことの定義(1 つめ)
var c1 = document.getElementById("fillStyle").getContext('2d');
// 1 つめの三角形を lineTo(); と closePath(); で描画。
c1.beginPath();
c1.moveTo(0, 30);
c1.lineTo(100, 60);
c1.lineTo(20, 70);
c1.closePath();
c1.stroke();
// 色を rgb(255, 0, 0) の赤で指定
c1.fillStyle = "rgb(255, 0, 0)";
// 色を塗る命令
c1.fill();
// id: fillStyle で 2 次元描画を行うことの定義(2 つめ)
var c2 = document.getElementById("fillStyle").getContext('2d');
// 2 つめの三角形を lineTo(); と closePath(); で描画。
c2.beginPath();
c2.moveTo(60, 0);
c2.lineTo(70, 90);
c2.lineTo(30, 100);
c2.closePath();
c2.stroke();
// 色を rgb(0, 0, 255) の青で指定
c2.fillStyle = "rgb(0, 0, 255)";
// 色を塗る命令
c2.fill();
}
すると、こうなる。
で、色の値は CSS のフォーマットで指定するので、rgba を用いて、半透明にすることもできる。
// c1 の fillStyle を rgba で色を 30% にする
c1.fillStyle = "rgba(255, 0, 0, .3)";
// 同じように、c2 の fillStyle を rgba で 50% にする
c2.fillStyle = "rgba(0, 0, 255, .5)";
c1.fillStyle = "rgba(255, 0, 0, .3)";
// 同じように、c2 の fillStyle を rgba で 50% にする
c2.fillStyle = "rgba(0, 0, 255, .5)";
transparent を指定すれば、透明になる。例えば、上に乗っかってる青い図形を透明にしてみる。
c2.fillStyle = "transparent";
おなじみの 16 進数でも可能。
c1.fillStyle = "#ff0000";
c2.fillStyle = "#0000ff";
c2.fillStyle = "#0000ff";
確認環境:
Safari 5.0、Firefox 3.6.3、Chrome 5.0.375.70、Opera 10.53
W3C;
4.8.11 The canvas element — HTML 5
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.