我使用带有渐变填充等的 KineticJS 文本对象作为按钮。但是现在verticalAlign 属性最近被删除了,我如何在它的边界框中垂直对齐我的文本呢?如果没有其他选择,为什么要移除财产?
问问题
1536 次
2 回答
1
据此,支持已暂时放弃,并有望在不久的将来增加。
于 2013-02-15T15:53:59.170 回答
0
文本的 verticalAlign 属性对我来说没有任何意义。
Text 不是 Kinetic.Container 而是 Kinetic.Shape。
IMO,Kinetic.Shape 不应该有 vertialAlign。这就像一个圆有verticalAlign。与什么对齐?与任何容器、层或阶段对齐?明白我在说什么?
这就是为什么它被删除的原因,我猜,希望这些属性应该与水平对齐一起添加回 KineticContainer。
如果您希望文本垂直对齐到矩形或圆形。此时,您需要将文本的 y 位置设置为与容器垂直对齐。
如果你的容器是 100 像素高并且你的文本是 30 像素高,那么你会得到 35 的 y 位置。
var newY= (box.getHeight()-text.getHeight())/2
text.setY(newY);
layer.draw();
于 2013-02-15T17:11:37.603 回答