2017-01-29 4 views
0

私はグループのすべての要素の面積を知る必要があります。既成のソリューションはありますか?あなたは面付けを除いた領域を知っているでしょうか?Fabricjs:エリアを取得するには?

window.canvas = new fabric.Canvas('fabriccanvas'); 
var circle1 = new fabric.Circle({ 
    radius: 50, 
    fill: 'red', 
    left: 0 
}); 
var Rect = new fabric.Rect({ 
    left: 50, 
    top: 50, 
    height: 20, 
    width: 20, 
    fill: 'green' 
}); 
var circle2 = new fabric.Circle({ 
    radius: 20, 
    fill: 'black', 
    left: 70, 
    top: 80 
}); 
var group = new fabric.Group([ circle1, circle2, Rect ], {}); 
window.canvas.add(group); 
+0

フルキャンバスの領域、各オブジェクトの領域 – vijay

答えて

0

VINET、

何ら事前に定義された機能はありませんが、あなた自身を構築する必要があります。これは、(上記で作成したもの)、グループ内の円や長方形のための面積を計算する方法を簡単な例である:

var groupArea = 0; 

group.forEachObject(function(o){ 
    groupArea += calculateArea(o); 
}); 

function calculateArea(obj){ 
    switch (obj.type){ 
    case 'circle': 
     return Math.PI*obj.radius*obj.radius; 
    break; 
    case 'rect': 
     return obj.width*obj.height; 
    break; 
    } 
} 

alert(groupArea); 

この投稿は、ポリゴン面積を計算する方法である:Calculating Polygon Area

この投稿は、三角形の面積のためであります: Calculate triangle area and circumference from user input sides

お手伝いします。

関連する問題