我正在使用带有渐变填充等的KineticJS文本对象作为按钮。但是现在最近删除了verticalAlign属性,如何在边界框中垂直对齐我的文本?如果没有其他选择,为什么要删除该属性?
答案 0 :(得分:1)
根据this,支持已暂时停止,并有望在不久的将来添加。
答案 1 :(得分:0)
text的verticalAlign属性对我没有任何意义。
Text不是Kinetic.Container,而是Kinetic.Shape。
IMO,Kinetic.Shape不应该有vertialAlign。这就像Circle有verticalAlign。对齐什么?与任何容器,层或阶段对齐?看看我在说什么?
这就是为什么它会被删除,我猜,并且希望这些属性应该与horizontalAlign一起添加回KineticContainer。
如果您希望文本垂直对齐矩形或圆形。 此时,您需要将文本的y位置设置为垂直对齐容器。
如果你的容器高100像素而你的文字是30px高,那么你将获得y位置为35。
var newY= (box.getHeight()-text.getHeight())/2
text.setY(newY);
layer.draw();