在本Paper.js Sketch中,选择蒙娜丽莎光栅的一个区域会使该区域的Rectangle变白,以及该区域的generating a subraster。首先添加whiteout矩形,然后添加subraster。但是,正如您在草图中看到的那样,白色矩形仍然位于顶部。通过注释掉whiteout矩形块并取消注释最后一行来测试这一点,看看确实生成了subraster。
在这种情况下可以通过调用bringToFront()
来解决这个问题,但这仍然无法解释为什么子索引在白色矩形后面结束,尽管最后添加了它。这种行为的原因是什么?这里的逻辑是什么?提前谢谢。
答案 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;
}