我正在使用拉斐尔js绘制圆圈数字。问题是每个数字都有不同的宽度/高度,因此使用一组坐标来居中文本不起作用。文本在IE,FF和Safari之间显示不同。有没有一种动态的方式来查找数字的高度/宽度并相应地居中?拉斐尔js文字定位:将文字置于一个圆圈中
这里是我的测试页:
http://jesserosenfield.com/fluid/test.html
和我的代码:
function drawcircle(div, text) {
var paper = Raphael(div, 26, 26); //<<
var circle = paper.circle(13, 13, 10.5);
circle.attr("stroke", "#f1f1f1");
circle.attr("stroke-width", 2);
var text = paper.text(12, 13, text); //<<
text.attr({'font-size': 15, 'font-family': 'FranklinGothicFSCondensed-1, FranklinGothicFSCondensed-2'});
text.attr("fill", "#f1f1f1");
}
window.onload = function() {
drawcircle("c1", "1");
drawcircle("c2", "2");
drawcircle("c3", "3");
};
非常感谢!
此代码的输出看起来更好:text.translate(paper.width/2,paper.height/2); – 2010-04-05 15:23:16
'text.getBBox()。width'不工作,因为它总是返回0 :( – stej 2010-12-07 10:31:10