私はキャンバスを持っています。このキャンバスにキャンバス:2つの長方形の交差点の色
、私は赤い長方形でグリッドを描画する必要があります。
-firstly、私は垂直方向の長方形を描き、
-then、私は水平方向の長方形
を描くすべての矩形が同じ不透明度を持っています(0.3)となる。
通常、2つの矩形の交点の色は、重ね合わせのために赤色でなければなりません。
ので、レンダリングは、このようにする必要がありますすることができます(
しかし、交差点での色はより赤くないので、私のコードは動作しない、色が長方形と同じですそれを試してみてください:https://jsfiddle.net/6urj27ua/):
<canvas id="canvas"></canvas>
<script type="text/javascript">
//The canvas :
c = document.getElementById("canvas");
c.style.border = "solid #000000 1px";
//Size of canvas :
c.width = 300;
c.height = 300;
//The canvas context :
ctx = c.getContext("2d");
//Drawing function :
function draw()
{
//Clear the drawing :
ctx.clearRect(0, 0, c.width, c.height);
/*Define size of a rect :*/
width_rect = 20;
height_rect = 200;
/*Fill color for rect :*/
ctx.fillStyle = "rgba(255, 0, 0, 0.3)";
/*Draw 5 vertical rectangles :*/
for(i = 0; i <= 5 ; i++)
{
ctx.rect(i*(width_rect*2), 0, width_rect, height_rect);
}
/*Draw 5 horizontal rectangles :*/
for(i = 0; i <= 5 ; i++)
{
ctx.rect(0, i*(width_rect*2), height_rect, width_rect);
}
ctx.fill();
}
//Draw :
setInterval("draw()", 300);
</script>
だから、問題は何ですか?
ありがとうございますが、fillRect()コマンドはパス作成コマンドではないため、パス上でいくつかの操作をしたい場合はfillRect()を使用できません。 – totoaussi
非常にありがとう!!!!あなたは私の問題を解決しました。非常に素晴らしい。もう一度! – totoaussi