Konvajs 绘制矩形不能阴影我的图像

Konvajs 绘制矩形不能阴影我的图像,konvajs,Konvajs,我正在尝试使用Konvajs在现有图像对象上绘制一些东西。 所以我的代码是这样的: var stage = new Konva.Stage({ container: 'underground-map-container', width: window.innerWidth, height: 1121.6 }); var layer = new Konva.Layer(); var imageObj = new Image(); imageObj.onload = fu

我正在尝试使用Konvajs在现有图像对象上绘制一些东西。 所以我的代码是这样的:

var stage = new Konva.Stage({
    container: 'underground-map-container',
    width: window.innerWidth,
    height: 1121.6
});

var layer = new Konva.Layer();

var imageObj = new Image();
imageObj.onload = function () {
    var parking_img = new Konva.Image({
        image: imageObj,
        width: 1328,
        height: 878.6
    });
    layer.add(parking_img);
    stage.add(layer);
};
imageObj.src = "../static/img/underground-map.png";


var rect = new Konva.Rect({
    x: 700,
    y: 50,
    width: 200,
    height: 200,
    fill: 'blue',
    opacity:1
});
layer.add(rect);

var rect1 = new Konva.Rect({
    x: 800,
    y: 50,
    width: 200,
    height: 200,
    fill: 'red',
    opacity:1
});
layer.add(rect1);
rect1可以对rect进行阴影处理,但是,它们都不能对我的图像进行阴影处理。有人知道怎么做吗,谢谢


加载图像时,图像将添加到层中。它发生在添加矩形之后,因此图像被放置在顶部。要移动图像,可以使用:

  • parking\u img.moveToBottom()
  • parking\u img.setZIndex(0)
  • 重要提示:仅在将图像添加到以下图层后使用这些方法:

    var parking_img = new Konva.Image({
        image: imageObj,
        width: 1328,
        height: 878.6
    });
    layer.add(parking_img);
    parking_img.moveToBottom();
    layer.draw();
    

    你想只在图像的顶部显示形状吗?没错。但我的背景图像总是显示在顶部,即使我设置了Zindex,这对我来说很有效。我需要弄清楚事情发生的顺序。(何时加载图像,何时添加rect)谢谢。