如何在Konva中设置初始阶段颜色?

时间:2017-11-08 06:15:35

标签: javascript html5 canvas konvajs

我刚刚开始使用Konva,我想知道是否有办法设置舞台颜色?默认情况下它是某种亮灰色,如果可能的话,我想改变它,而不必添加矩形并填充它。

1 个答案:

答案 0 :(得分:3)

Konvajs是在标准HTML5画布之上的函数实现。

如果您使用google html5画布背景颜色,您会在SO上找到许多匹配,例如how-to-fill-the-whole-canvas-with-specific-color。摘要是:

  • html5画布是透明的
  • 通过CSS
  • 在主机元素上设置颜色
  • 或在其自己的图层上生成矩形形状,矩形尺寸填充画布。

以下是使用容器div上的CSS颜色为舞台着色的示例。我还添加了一个舞台矩形,您可以通过在其定义中添加填充颜色来使用它。舞台矩形正在侦听点击并具有单击处理程序,以便您可以确认它覆盖整个舞台区域。该阶段有一个contentClick()监听器,应该小心使用,因为无法停止冒泡。



var width = window.innerWidth;
var height = window.innerHeight;


var rectButtonClicked  = false;

var stage = new Konva.Stage({
  container: 'container',
  width: width,
  height: height
});

var layer = new Konva.Layer();
stage.add(layer);

var stageRect =  new Konva.Rect({ 
  x:0,
  y:0,
  width: width,
  height: height,
  listening: true  // listen for clicks on the stage rectangle
})
layer.add(stageRect);

stageRect.on('click', function() {
  console.log('Stage click');
});

stageRect.draw(); // draw so we can see canvas rect.

<script src="https://cdn.rawgit.com/konvajs/konva/1.7.6/konva.min.js"></script>

<div id="container" style="background-color: gold;"></div>
&#13;
&#13;
&#13;