2015-11-12 54 views
2

在此Paper.js Sketch中,選擇蒙娜麗莎光柵的一個區域會使該區域的面積爲Rectangle,以及該面積的generating a subraster。首先添加白色矩形,然後再添加子項。但是,如您在草圖中所見,白色矩形保持在最上方。通過註釋掉白色矩形塊並取消最後一行的註釋來測試此情況,以確定子代確實已生成。Paper.js Subraster在矩形後面添加,而不是在前面

這可以在這種情況下與呼叫得到補救bringToFront(),但仍然沒有解釋爲什麼,在subraster結束了白色矩形的背後儘管它最後添加的事實。這種行爲的原因是什麼?這裏的邏輯是什麼?提前致謝。

回答

1

如果您查看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; 
} 
相關問題