fabric.js 限制缩放的最大最小比例

var rect = new fabrics.Rect({
    v: true,
    top: 216,
    left: 384,
    width: 160,
    height: 90,
    fill: 'transparent',
    borderColor: '#05ca7e', //描边颜色
    borderDashArray: [0], //水印框虚线边
    hasRotatingPoint: false, //旋转点
    cornerColor: '#05ca7e', //边角颜色
    transparentCorners: false, //边角是否透明
    cornerStyle: 'rect', //边角形状
    cornerSize: 8, //边角大小
    cornerStrokeColor: '#05ca7e', //边角描边颜色
    cornerFillColor: '#05ca7e', //边角描边颜色
    lockScalingFlip: true, //控制缩放翻转
    lockUniScaling: true, //控制四个正方向缩放
    minScaleLimit: 0.5 // 最小限制
})
// 移动中限制区域
rect.on('moving', e => {
    this.posHandle(e.target);
});
// 移动结束修改位置
rect.on('moved', e => {
    this.videoHandle();
});
// 缩放中限制区域
rect.on('scaling', e => {
    // 最大限制
    if (e.target.scaleX > 2.5) {
        e.target.lockScalingX = true;
        e.target.scale(2.5);
        e.target.lockScalingX = false;
    };
    this.posHandle(e.target);
});
// 缩放结束修改位置
rect.on('scaled', e => {
    this.videoHandle();
});
this.canvas.add(rect);

 看红色位置处。最小比例fabric 是有api 的 最大没有只能在缩放中 判断比例,如果超出,就锁住缩放,然后缩放到目标倍数,然后解锁。

转载于:https://www.cnblogs.com/maopixin/p/11159299.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值