kineticjs rect fillText

use*_*818 2 javascript canvas kineticjs

我有KineticJS矩形已填充'蓝色',我想在这个矩形框上显示文字.但是我的下面代码没有显示任何内容 此外,我需要在按钮单击时分配此标签文本,相同的代码也在下面.

drawShape = new Kinetic.Rect({
            id: shapeId,
            name: shapeName,
            x: 0,
            y: 0,
            width: 150,
            height: 40,
            fill: "#00D2FF",
            stroke: "black",
            strokeWidth: 3,
            fillText: "Step" + stepNumber            
        });

function OnApplyPropertiesClick(){
drawShape.fillText(document.getElementById("txtLabel").value);  
}
Run Code Online (Sandbox Code Playgroud)

对此有何帮助?请.

谢谢Biru

Cra*_*eve 5

我不认为你可以添加文本到矩形对象,只有填充类型:

[颜色,线性渐变,径向渐变或图案]

为了解决这个问题,我创建了一个组,然后添加了一个矩形和文本对象,当我想创建一个带有文本的矩形时:

var group = new Kinetic.Group({

});

var rectangle = new Kinetic.Rect({

    x: 5,
    y: 5,
    width: 80,
    height: 35,
    fill: "green",
    stroke: "black",
    strokeWidth: 2

});

var rectangleText = new Kinetic.Text({

    x: 15,
    y: 10,
    text: 'test',
    fontSize: 20,
    fontFamily: 'Calibri',
    textFill: 'black'

});

group.add(rectangle);
group.add(rectangleText);
layer.add(group);
Run Code Online (Sandbox Code Playgroud)

您应该能够调整您的监听器,然后将其应用于此.

我做了一个jsfiddle来表明我的意思:

http://jsfiddle.net/B85Ff/