渐变填充和画布大小?

时间:2012-02-13 15:37:40

标签: javascript html5 html5-canvas

下面的代码显示了一个径向渐变填充矩形。如果我取消评论设置画布的两条线'宽度和高度,它显示一个黑色矩形而不是一个渐变填充。为什么?如何设置宽度和高度仍然能够显示渐变?

<!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>

2 个答案:

答案 0 :(得分:1)

在使用其上下文

之前,您必须更改画布大小

答案 1 :(得分:0)

我认为原因是设置宽度或高度会清除画布及其设置。