javascript - 在小 Canvas 上看到大 Canvas 的一部分

标签 javascript canvas html5-canvas fabricjs

我有一个 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/

相关文章:

javascript - 在 Javascript 上绘制两种不同的颜色

javascript - 有没有办法围绕其底部点而不是中心点旋转 Canvas 对象

javascript - 如何使用 Fabric.js 将本地磁盘中的多个图像添加到 Canvas ?

javascript - 如何不指定可选参数?

javascript - 如何使用javascript和php mysql删除一行

javascript - 与同一页面上的两个 jquery 日期选择器冲突

javascript - 复制图像数据的更快方法

javascript - <canvas> 围棋/围棋/围棋棋盘

javascript - 自动 slider /滚动条显示动态内容

javascript - 如何在 React Native 中同时启用多个按钮的触摸?