我正在使用 Raphael Free Transform 插件来启用缩放、拖动和旋转。在这种特殊情况下,我想用一个手柄来调整大小,另一个用于旋转,因此缩放选项仅在轴 x 上设置。我想通过在函数回调中纠正它来补偿 y 轴上的缩放以避免“图像”失真。我想让用户使用一个手柄重新调整 raphael 集的大小,并使用另一个手柄旋转 raphael 集。另外,我想保留由缩放引起的所有转换,这样一旦用户尝试拖动对象就不会丢失。
var ft = paper.freeTransform(tmp, { scale: ['axisX'], rotate: ['axisY'] }, cbFreeTransform);
function cbFreeTransform(s, e) {
if (e.toString() == 'scale end') {
for (var i = 0, l = tmp.length; i < l; i++) {
var itm = tmp[i];
itm.scale(1, s.attrs.scale.x);
}
}
}
这是小提琴:jsFiddle
任何帮助表示赞赏。