我已经用‘蓝色’填充了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);
}对此有什么帮助吗?请。
谢谢Biru
发布于 2012-11-17 23:32:22
我不认为您可以将文本添加到rectangle对象中,只能添加以下类型的填充:
颜色、线性渐变、径向渐变或图案
为了解决这个问题,我创建了一个组,然后添加了一个rectangle和text对象,当我想要创建一个带有文本的矩形时:
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);您应该能够调整您的侦听器,然后将其应用于此。
我做了一个jsfiddle来说明我的意思:
http://jsfiddle.net/B85Ff/
发布于 2012-11-12 07:01:08
你已经将drawShape添加到任何层了吗?不会出现在您发布的代码片段中。此外,还需要在OnApplyPropertiesClick()函数的末尾绘制图层(就像刷新一样)。
https://stackoverflow.com/questions/13324514
复制相似问题