JavaScript Canvas - 如何获取字体使用的区域

时间:2015-06-25 09:20:44

标签: javascript html5 canvas

我如何获得填充ctx.font占用的区域?例如:

enter image description here

我所有的研究都指向基线和ctx.measureText(word);,这给了我宽度(完美地,我应该添加),但高度是我真正在努力的东西,因为下降似乎总是包含在计算中。

我可以对字体进行位图处理,然后以这种方式计算比例吗?

这是我正在使用的(失败的)画布大小函数:

function textSize(word, size){
  var div = document.createElement("div");
  div.innerHTML = word;
  div.style.position = 'absolute';
  div.style.fontFamily = 'serif';
  div.style.fontWeight = 'normal';
  div.style.fontSize = size + 'px';
  document.body.appendChild(div);
  var size = {
    'width': div.offsetWidth,
    'height': div.offsetHeight
  };
  return size; // size.height would be much larger than required with fonts with no descenders
}

1 个答案:

答案 0 :(得分:0)

试试这个:

mime_content_type($file)