我正在与Jcrop合作并尝试在响应式布局中很好地适应它。我决定它将在window.resize上销毁,并使用TrueSize参数重新初始化(如此处所示:https://stackoverflow.com/a/33592528/2126308)。但是现在我想通过setImage
添加更新图像的选项,但是在更改img之后在小屏幕上,Jcrop将其调整为img的原始大小。我是否应该销毁Jcrop并重新重新初始化(如调整大小)或者我做错了什么?
答案 0 :(得分:0)
我想与我的解决方案分享,因为我查看了BTW不太长的函数代码:-)而且事实证明setImage
函数在不考虑TrueSize的情况下重新计算所有内容初始化时传递的尺寸。解决这个问题的唯一方法是向Jcrop添加另一种方法。不幸的是,如果我错了,请纠正我,Jcrop v0.9.12还没有编写来处理函数重载,所以我已经完成了自定义Jcrop。
具体来说,我只改变了图像上的初始尺寸
...
img.onload = function () {
var iw = img.width;
var ih = img.height;
...
}
到
...
img.onload = function () {
var iw = $origimg.width();
var ih = $origimg.height();
...
}