2016-09-21 4 views
2

私は1377x740pxの大きなキャンバスと、200x200のdimmensionsを持つ他のキャンバスを持っています。 この最後のキャンバスは、ドロップダウンリストで選択されたオブジェクトのプレビューモードです。私はオブジェクトの名前を選択すると、同じ割合でオブジェクトを小さなキャンバスに表示する必要があります。小さいキャンバスに大きなキャンバスの一部を見る

私の質問は、どうすればいいですか?このfit-object-css

のような:

私のような何かをしたい

obj.set({ 
      scaleY: obj.height/(obj.getBoundingRect().height), 
      scaleX: obj.width/(obj.getBoundingRect().width), 

     }); 

これではない作品、 、私は、コードを持っていますが、このコードは、幅と小さなキャンバスの高さにオブジェクトをフィット画像の「包含」ボックス。このコードで

答えて

2

Sloved:

var BR = obj.getBoundingRect(); 
     if(BR.width>canvas2.width){ 
      while(BR.width+50>canvas2.width){ 
       canvas2.zoomToPoint(new fabric.Point(canvas2.getCenter().top, canvas2.getCenter().left), canvas2.getZoom()/1.2); 
       BR=obj.getBoundingRect(); 
      } 
     } 
     if(BR.width+3<canvas2.width){ 
      while(BR.width+50<canvas2.width){ 
       canvas2.zoomToPoint(new fabric.Point(canvas2.getCenter().top, canvas2.getCenter().left), canvas2.getZoom()*1.2); 
       BR=obj.getBoundingRect(); 
      } 
     } 
     if(BR.height>canvas2.height){ 
      while(BR.height>canvas2.height){ 
       canvas2.zoomToPoint(new fabric.Point(canvas2.getCenter().top, canvas2.getCenter().left), canvas2.getZoom()/1.2); 
       BR=obj.getBoundingRect(); 
      } 
     } 
関連する問題