当我选择一个图像时,它已经打开了一个默认裁剪区域,我使用(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)
};
}
有没有办法用一些默认值启动变量?
答案 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事件并初始化您的变量。