JCrop未填充的选择变量

时间:2017-03-02 17:30:46

标签: javascript jquery jcrop

当我选择一个图像时,它已经打开了一个默认裁剪区域,我使用(setSelect)方法设置,如果我在裁剪区域没有任何变化的情况下确认裁剪,图像将保存而不会裁剪导致错误我的数据库,我想我没有填充JCrop选择变量。我还注意到它有一个填充这些变量的方法(onSelect:selectcanvas),但只有在修改裁剪区域后才会调用它。

这是我的JCrop脚本

$("#canvas").Jcrop({
   minSize: [45, 45],
   maxSize: [1200, 1200],
   bgColor: 'white',
   bgOpacity: .2,
   setSelect: [150, 150, 50, 50],
   aspectRatio: 1,
   allowSelect: false,
   onSelect: selectcanvas,
   onRelease: clearcanvas,
   boxWidth: crop_max_width,
   boxHeight: crop_max_height,
}, function () {
    jcrop_api = this;
});
   clearcanvas();
}

和onSelect方法

function selectcanvas(coords) {
  prefsize = {
    x: Math.round(coords.x),
    y: Math.round(coords.y),
    w: Math.round(coords.w),
    h: Math.round(coords.h)
  };
}

有没有办法用一些默认值启动变量?

1 个答案:

答案 0 :(得分:0)

改变这个:

./configure

对此:

$("#canvas").Jcrop({
   minSize: [45, 45],
   maxSize: [1200, 1200],
   bgColor: 'white',
   bgOpacity: .2,
   setSelect: [150, 150, 50, 50],
   aspectRatio: 1,
   allowSelect: false,
   onSelect: selectcanvas,
   onRelease: clearcanvas,
   boxWidth: crop_max_width,
   boxHeight: crop_max_height,
}, function () {
    jcrop_api = this;
});
   clearcanvas();
}

这将确保首先定义您的函数。这将确保当用户向您的输入添加图像时,将调用change事件并初始化您的变量。