Raphael.FreeTransform仅旋转

时间:2013-06-15 09:11:49

标签: javascript raphael

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']
    });

JSFiddle

1 个答案:

答案 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/帮助解决了这个问题。