gpt4 book ai didi

javascript - Jcrop 正在为回调中的对象返回小数

转载 作者:行者123 更新时间:2023-11-29 10:20:24 24 4
gpt4 key购买 nike

使用 jcrop库,我无法追踪为什么回调的返回对象有时可以包含小数。我希望所有 x1、x2、y1、y2、宽度和高度都是整数。

我对 jcrop 的初始化是:

$('img.jsEditable').Jcrop({
bgColor: 'black',
bgOpacity: .4,
setSelect: [0, 0, crop_width, crop_height],
aspectRatio: 1,
onSelect: saveCoordinates,
minSize: [crop_width, crop_height],
maxSize: [400, 400]
});

其中 crop_width 和 crop_height 只是我在其他地方设置的变量,恰好是 150。我期望(如演示中那样)它们是一个固定像素。

有什么想法吗?
有什么想法吗?

最佳答案

这似乎是 Jcrop 0.9.9 和 0.9.10 之间的区别。如果您从网站访问演示,http://deepliquid.com/projects/Jcrop/demos.php?demo=handler并拖动你周围的框只会在回调中得到整数。该演示不是最新的,使用的是 Jcrop 0.9.9。

但是,如果您下载 Jcrop,您将获得 0.9.10 版本。下载中包含的演示也使用 Jcrop 0.9.10,您可以在回调中获得小数。如果您在演示中换出版本 0.9.10 并改用 0.9.9,您只会在回调中获得整数坐标。

进一步研究,在 jquery.Jcrop.js 的 0.9.10 版本中,第 656 行的坐标舍入似乎已被删除。返回来自:

return [ Math.round(xa), Math.round(ya), Math.round(xb), Math.round(yb) ];

return [xa, ya, xb, yb];

我不确定这样做的原因(我查看了 github 上的提交评论,但我没有想到什么)但是如果你重新添加四舍五入,你将不会再在回调中得到小数。

关于javascript - Jcrop 正在为回调中的对象返回小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13383970/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com