根据JS Raphael库中的文本大小动态调整矩形或容器的大小

时间:2012-10-11 16:53:47

标签: javascript resize raphael

这与之前的问题有关,令人惊讶的是,我无法在线找到示例。我试图通过ExpressionEngine中的嵌入传递一个字符串,我希望我的矩形按钮根据通过嵌入的文本大小水平扩展。在Raphael中,文本是否具有相当于getWidth方法的效果?

有人可以根据以下内容提供示例代码:

var contactTextPara = "{embed:quote}";
var rectHeight = 45;
var rectWidth;
// Create an object group
p.setStart();

var contactText = p.text(11,22,contactTextPara);
var contactRect= p.rect(0, 0, rectWidth, rectHeight);

UPDATE:使用getBBox()方法,我能够实现一些相对哪些值,这肯定是有帮助的。但是,我得到的价值并不是特别有用。

例如,我使用120px x 45px作为我前一个矩形的尺寸,它符合我文本的边框,但使用getBBox()生成的新矩形的尺寸分别约为27px x 12px。

我应该使用倍增器吗?

UPDATE2:这显然是因为我还没有应用我的属性。但是,我仍然需要帮助创建一个美观的文本框。

1 个答案:

答案 0 :(得分:1)

您需要使用.getBBox()

var contactText = p.text(11,22,contactTextPara);
var dimensions = contactText.getBBox();
var contactRect= p.rect(0, 0, dimensions.width, dimensions.height);