【问题标题】:see a part of bigger canvas on a small canvas在小画布上看到大画布的一部分
【发布时间】:2016-09-21 22:41:10
【问题描述】:

我有一个 1377x740 像素的大画布,以及其他尺寸为 200x200 的画布。 这最后一个画布用于预览模式,在下拉列表中选择对象。当我选择对象的名称时,对象需要以相同的比例出现在小画布中。

我的问题是,我该怎么做?

我有一个代码,但是这个代码使对象适合小画布的宽度和高度,

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

        });

这不起作用, 我想要类似的东西:这个fit-object-css

喜欢图片的“包含”框。

【问题讨论】:

    标签: javascript canvas html5-canvas fabricjs


    【解决方案1】:

    喜欢这个代码:

    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();
                }
            }
    

    【讨论】:

      猜你喜欢
      • 2019-02-02
      • 1970-01-01
      • 2015-02-15
      • 2013-01-22
      • 2016-12-10
      • 2011-04-18
      • 1970-01-01
      • 2018-11-16
      • 1970-01-01
      相关资源
      最近更新 更多