如何在javascript中获取一个字符串所占的象素?

Ftribbat 2009-05-20 10:28:04
比如
var s=“test string!”;
"font-name": '"Arial"', "font-size": "20px";
设置字体字号后,要获取该字符串在html中所占的象素即能获取该字串的widht、height。
java里面有FontRenderContext()一些内置库处理此类问题,小弟初学javascript,遇到这个问题忘熟悉的指导下。
...全文
316 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ftribbat 2009-05-21
  • 打赏
  • 举报
回复
谢谢大家,学会了。
2009-05-20
  • 打赏
  • 举报
回复


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>

</head>

<body>
<div>test</div>
<script type="text/javascript">
function getStringWidth(s){
var span = document.createElement("span");
span.style.cssText = "font-family: Arial, font-size: 20px";
span.innerHTML = s;
document.body.appendChild(span);
var width = span.offsetWidth;
document.body.removeChild(span);

return width;
}
alert(getStringWidth("test string!"));
</script>
</body>
</html>

Ftribbat 2009-05-20
  • 打赏
  • 举报
回复
3楼的意思我也想过,问题在于,获取引入字体、字号后的width,height
一方晴空 2009-05-20
  • 打赏
  • 举报
回复
使用style
-布谷鸟- 2009-05-20
  • 打赏
  • 举报
回复
免为其难,javascript的确难以胜任.
就象用javascript读二进制文件一样.
专业二三维GIS 2009-05-20
  • 打赏
  • 举报
回复
如果字符串放在span中则可以获取,如:
stringwidth=document.getElementById("span1").offsetWidth;
sunxing007 2009-05-20
  • 打赏
  • 举报
回复
这个比较难,因为js是嵌入到浏览器的,能量有限。
但是我觉得可以根据style设置的font来读。
lzj34 2009-05-20
  • 打赏
  • 举报
回复
javascript没有专门用于字符渲染的函数,主要是通过JS读写CSS来进行控制

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧