書式
コンテキスト.measureText(text)
説明
文字の幅を持つText Metricsオブジェクトを返します。Text Metricsオブジェクトはwidthプロパティしかないため、文字の横幅しか取得することができません。文字の縦幅を取得することはできません。別のCanvasに文字を描画して、そこから縦幅を求めるという、やや強引な手法もあります。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Sample</title>
<script>
window.onload = function(){
var canvasObj = document.getElementById("imgCanvas");
var context = canvasObj.getContext("2d");
context.fillStyle = "rgba(255,0,0,1)";
context.font = "normal 36pt 'Times-Bold'";
var text = "Sample Text";
context.fillText(text, 30, 100);
var textMetrics = context.measureText(text);
var w = textMetrics.width;
context.font = "18pt normal";
context.fillText("文字の幅 = "+w, 30, 150);
}
</script>
</head>
<body>
<h1>Sample</h1>
<canvas id="imgCanvas" width="320" height="240" style="border:1px black solid"></canvas>
</body>
</html>