我有一个 1377x740px 的大 Canvas ,以及其他尺寸为 200x200 的 Canvas 。 最后一个 Canvas 用于预览模式,在下拉列表中选择对象。当我选择对象的名称时,该对象需要以相同的比例出现在小 Canvas 中。
我的问题是,我该怎么做?
我有一个代码,但是这个代码使对象适合小 Canvas 的宽度和高度,
obj.set({
scaleY: obj.height / (obj.getBoundingRect().height),
scaleX: obj.width / (obj.getBoundingRect().width),
});
这不起作用, 我想要这样的东西:这个fit-object-css
就像“包含”图像的框一样。
最佳答案
喜欢这个代码:
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();
}
}
关于javascript - 在小 Canvas 上看到大 Canvas 的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39614545/