以下是一些關鍵如果你想要的文字,從排列繪製文本週圍
一個矩形的左上角,那麼你可以設置這些方面的取向性:
context.textAlign='left'; // this is the default to align horizontally to the left
context.textBaseline='top'; // text will be aligned vertically to the top
你可以使用此上下文方法測量文本的橫向寬度:
// set the font size and font face before measuring
context.font='14px verdana';
var textWidth=context.measureText('Hello').width;
沒有本地畫布方式確保文字高度,但對於大多數字體和非極端的字體大小,我和你一起工作能得到高度的這樣一個很好的近似:
var lineHeight=fontsizeInPixels * 1.286;
示例代碼和演示:
// get references to canvas and context
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var fontsize = 14;
var fontface = 'verdana';
var lineHeight = fontsize * 1.286;
var text = 'Draw a rectangle around me.';
ctx.font = fontsize + 'px ' + fontface;
var textWidth = ctx.measureText(text).width;
ctx.textAlign = 'left';
ctx.textBaseline = 'top';
ctx.fillText(text, 20, 50);
ctx.strokeRect(20, 50, textWidth, lineHeight);
canvas {
border: 1px solid red;
}
<canvas id=canvas width=300 height=300></canvas>
Omg非常感謝你!我想我正在慢慢理解它的工作原理,非常感謝! – Tom