Fabricjs:当编辑与flipX相反的文本时,各个字符保持翻转;编辑不是很有用

时间:2015-10-30 04:42:46

标签: javascript html5-canvas fabricjs

使用flipX = true编辑Fabricjs IText时,为什么整个字符串都不会被翻转,但每个字符都会被翻转?编辑并不真正可用。我应该使用其他属性或其他东西来帮助它更好地工作吗?

这会创建一个Fabricjs IText并反转字符串:

var txt = "Reverse string";
var canvas = new fabric.Canvas('canvas');
var text = new fabric.IText(txt, { 
    left: 20, 
    top: 30, 
    fontFamily: 'sans-serif',
    fontSize: 40,
    flipX: true
});

canvas.add(text);
canvas.setActiveObject(text);
canvas.renderAll();

......正如所料:

enter image description here

但是当您单击IText进行编辑时,它会按顺序更改为整个字符串,但单个字符仍会翻转:

enter image description here

...左键将光标向右移动,反之亦然。如果整个字符串被翻转,这将更有意义,但现在不是。这只是代码的当前状态吗?有没有解决方法?

这是一个jsfiddle:http://jsfiddle.net/spencerw/f282oo2w/

1 个答案:

答案 0 :(得分:1)

因为你翻转字符串对象而不是字符。

如果您想翻转字符,则需要绘制fabricjs.Group

for(var i = 0; i < txt.length; i++) {
    left += 25;

    character = new fabric.IText(txt[i], {    
        fontFamily: 'sans-serif',
        fontSize: 40,
        flipX: true,
        left: left
    });

    string.push(character);
}

http://jsfiddle.net/f282oo2w/8/