如何缩放文本对象?

时间:2014-04-09 05:01:11

标签: javascript kineticjs

var loginText = new Kinetic.Text({
                  x: 5,
                  y: 5,
                  text: 'login: someLogin',
                  fontSize: 14,
                  fontFamily: 'Arial',
                  fill: 'green'
                });
loginText.scaleX(4);
loginText.scaleY(4);

我正在尝试扩展Kinetic.Text对象,但没有任何反应,我不知道它是否可能,我也试过了:

loginText.fillPatternScale({
  x: 4
  y: 4
});

但仍然没有发生任何想法?

3 个答案:

答案 0 :(得分:1)

您必须将文本对象添加到图层,然后layer.draw重新显示图层:

var loginText = new Kinetic.Text({
    x: 5,
    y: 5,
    text: 'login: someLogin',
    fontSize: 14,
    fontFamily: 'Arial',
    fill: 'green'
});
loginText.scaleX(4);
loginText.scaleY(4);

layer.add(loginText);

layer.draw();

答案 1 :(得分:1)

markE提供的答案应该有效。

以下是完整的代码和一个小提琴示例,您可以看到它的工作原理:http://jsfiddle.net/J8vju/

var stage = new Kinetic.Stage({
    width: 400,
    height: 400,
    container: 'container'
});
var layer = new Kinetic.Layer();

var loginText = new Kinetic.Text({
    x: 5,
    y: 5,
    text: 'login: someLogin',
    fontSize: 14,
    fontFamily: 'Arial',
    fill: 'green'
});

var loginText2 = loginText.clone({y: 200});

loginText.scaleX(4);
loginText.scaleY(4);

layer.add(loginText);
layer.add(loginText2);
stage.add(layer);
stage.draw();

答案 2 :(得分:0)

before scaling Pic scaleX应该可以查看此示例here只需添加此行

simpleText.scaleX(2);

作为该示例的行号30(30)。您将在示例中看到scaleX效果对文本的影响。确保在向layar添加行之前缩放它。希望有帮助。

After scaling pic