Paper.js Subraster在矩形后面而不是在前面添加

时间:2015-11-12 16:37:06

标签: javascript raster paperjs

在本Paper.js Sketch中,选择蒙娜丽莎光栅的一个区域会使该区域的Rectangle变白,以及该区域的generating a subraster。首先添加whiteout矩形,然后添加subraster。但是,正如您在草图中看到的那样,白色矩形仍然位于顶部。通过注释掉whiteout矩形块并取消注释最后一行来测试这一点,看看确实生成了subraster。

在这种情况下可以通过调用bringToFront()来解决这个问题,但这仍然无法解释为什么子索引在白色矩形后面结束,尽管最后添加了它。这种行为的原因是什么?这里的逻辑是什么?提前谢谢。

1 个答案:

答案 0 :(得分:2)

如果查看getSubRaster()函数,可以看到它将返回的栅格直接插入到创建它的栅格对象上方。

function() {
  var rect = Rectangle.read(arguments),
    raster = new Raster(Item.NO_INSERT);
  raster.setImage(this.getSubCanvas(rect));
  raster.translate(rect.getCenter().subtract(this.getSize().divide(2)));
  raster._matrix.preConcatenate(this._matrix);
  raster.insertAbove(this);
  return raster;
}