关于HTML5画布,有人知道是否可以测量画布上显示的实际文本的大小吗?使用示例图片,如果我使用的是“ ac”,则尺寸应与“ acME”不同。
基本上,我试图将实际文本转换为英寸,以便客户知道贴纸的高度和宽度(转换为英寸)。就像这个网站的运作方式-http://fridayharborsigns.com/boatstypeface2.php
context.measeureText没有高度,并且如果加粗文本似乎也没有改变宽度。
-编辑- 为canvas元素添加一个jsFiddle。 https://jsfiddle.net/cv2egkwn/18/
const canvas = document.getElementById('myCanvas');
const context = canvas.getContext("2d");
const heightwidth = document.getElementById('heightwidth');
const fontSize = 100;
context.font = `${fontSize}px Arial`;
context.fillStyle = 'black';
context.textAlign = "center";
context.textBaseline = "middle";
context.fillText('acME', 200, 100);
const width = context.measureText('acME').width;
heightwidth.innerHTML = `Width: ${width} <br> Height: ${fontSize}`;