Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何缩放文本对象?_Javascript_Kineticjs - Fatal编程技术网

Javascript 如何缩放文本对象?

Javascript 如何缩放文本对象?,javascript,kineticjs,Javascript,Kineticjs,我正在尝试缩放一个Kinetic.Text对象,但什么也没发生,我不知道这是否可能,我也尝试过: var loginText = new Kinetic.Text({ x: 5, y: 5, text: 'login: someLogin', fontSize: 14, fontFamily: 'Arial',

我正在尝试缩放一个Kinetic.Text对象,但什么也没发生,我不知道这是否可能,我也尝试过:

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

但是仍然没有发生任何事情,有什么想法吗?

您必须将文本对象添加到图层,然后再添加到图层。绘制以重新显示图层:

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

scaleX应该可以工作检查这个示例,只需添加这一行

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();
如本例第三十(30)行所示。您将在示例中看到文本的scaleX效果。在向layar添加行之前,请确保您正在缩放它。希望对您有所帮助


markE提供的答案应该有效

下面是完整的代码和一个fiddle示例,您可以在其中看到它的工作原理:


它设置的是偏移量,而不是比例simpleText.offsetX(simpleText.width()/2);,我试过scaleX,在那之后我重新绘制了我的图层,但仍然一无所获happens@user3414354您是否检查了上述示例并进行了上述更改?@user3414354在示例中进行上述更改后,我看到了x方向的缩放。查看更新答案中的图片
simpleText.scaleX(2);
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();