0

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

4

1 回答 1

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

于 2013-06-16T06:34:46.310 回答