2012-02-13 10 views
0

以下のコードは、ラジアルグラデーションの塗りつぶし矩形を表示しています。キャンバスの幅と高さを設定する2行のコメントを解除すると、グラデーションの代わりに黒い矩形が表示されます。どうして?どのように幅と高さを設定すると、まだ勾配を表示することができる?グラデーションの塗りつぶしとキャンバスのサイズ?

 
<!DOCTYPE HTML> 
<html lang="en"> 
    <head> 
    <meta charset="utf-8" /> 
    <script type="text/javascript"> 
     function on_load(e) { 
     var container = document.getElementById("container"); 
     var canvas = container.appendChild(document.createElement("canvas")); 
     var context = canvas.getContext("2d"); 
     var gradient = context.createRadialGradient(30, 30, 10, 30, 30, 30);
gradient.addColorStop(0, "rgba(0,0,0,1)"); gradient.addColorStop(1, "rgba(0,0,0,0)");
context.fillStyle = gradient;
//canvas.width = 150; //canvas.height = 150;
context.fillRect(0, 0, 60, 60); } </script> </head> <body onload="on_load()"><div id="container"></div></body> </html>

答えて

1

コンテキストを使用する前にキャンバスサイズを変更する必要があります

0

私は理由が幅または高さを設定すると、キャンバスとその設定をクリアしていることだと思います。

関連する問題