Raphael.FreeTransform是否可以旋转元素而不缩放它?
当我使用scale: false, rotate: true
初始化我的元素时,我只能旋转它而不进行缩放,这没关系。我不想达到同样的效果,但是当rotate start
事件发生时,即。我想从回调函数中动态更改scale
:
ft = paper.freeTransform(rect, {}, function(ft, events) {
if (events.indexOf("rotate start") !== -1) {
ft.setOpts({scale: false});
}
});
使用以下属性初始化元素:
ft.setOpts({
keepRatio: false,
draw: 'bbox',
snap: {
rotate: 45
},
keepRatio: ['axisX', 'axisY']
});
答案 0 :(得分:1)
我实际上想出了如何做到这一点。只需使用以下参数初始化FreeTransform:
ft.setOpts({
drag: ['center', 'self'],
rotate: ['axisY'],
scale: ['bboxCorners', 'bboxSides'],
keepRatio: ['bboxCorners'],
snap: {
rotate: 45
},
draw: 'bbox'
});
http://alias.io/raphael/free_transform/帮助解决了这个问题。