2015-11-19 100 views
0

我有一個算法,呈現一個對象的寬度和高度。但是當我使用setWidth()這個對象實際上並沒有達到那個寬度時,它會以某種方式獲得像我給它的寬度的x2。檢查下面的代碼:Fabricjs的寬度和getWidth()

var width = canvas.getWidth(); 
    obj.setWidth(width); 
    obj.setCoords(); 
    console.log(obj.getWidth()); 
    console.log(obj.width); 

第一個日誌有錯誤的寬度「x2」,第二個日誌有正確的寬度。

+0

對象是一個圓圈嗎?你可以通過一個半徑。 – Harangue

+0

對象實際上是組。 –

回答

2

我一直在努力嘗試類似的東西,所以我測試過(使用fabricjs 1.6.2),發現了fabric.Rect(=也可能與其他對象類型),rect.width不相等到rect.getWidth():

rect.width給人不考慮矩形的strokeWidth

rect.getWidth()寬度考慮矩形的strokeWidth

還記得行程由內部默認一半漆成物體的邊緣和其一半以外的區域,例如10的strokeWidth將rect的感知大小放大5 + 5 = 10像素。

希望這會有所幫助。