麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 課堂 > 小程序 > 正文

在小程序Canvas中使用measureText的方法示例

2020-03-21 16:09:09
字體:
來源:轉載
供稿:網友

有時候我們在使用Canvas繪制一段文本時,會需要通過measureText()方法獲取文本的寬度,例如:

創建canvas標簽

<canvas id="canvas"></canvas>

獲取一段文本的寬度

var canvas = document.getElementById('canvas');var ctx = canvas.getContext('2d');var text = ctx.measureText('foo'); // TextMetrics objecttext.width; // 16;

如上所示,measureText返回的其實是一個TextMetrics對象,它包含了文本的寬度,MDN上的解釋如下:

The CanvasRenderingContext2D.measureText() method returns a TextMetrics object that contains information about the measured text (such as its width for example).

微信小程序現在的版本(v2.13.7)中,小程序的canvas還不支持measureText,所以我自己寫了個類似于measureText方法,通過canvas獲取文本的寬度,方法如下:

function measureText (text, fontSize=10) {  text = String(text);  var text = text.split('');  var width = 0;  text.forEach(function(item) {    if (/[a-zA-Z]/.test(item)) {      width += 7;    } else if (/[0-9]/.test(item)) {      width += 5.5;    } else if (//./.test(item)) {      width += 2.7;    } else if (/-/.test(item)) {      width += 3.25;    } else if (/[/u4e00-/u9fa5]/.test(item)) { //中文匹配      width += 10;    } else if (//(|/)/.test(item)) {      width += 3.73;    } else if (//s/.test(item)) {      width += 2.5;    } else if (/%/.test(item)) {      width += 8;    } else {      width += 10;    }  });  return width * fontSize / 10;}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲成人国产综合 | 色av综合在线 | www.guochanav.com| 国产一区二区三区欧美 | 久久久久久久免费视频 | 国产精品嘿咻嘿咻在线播放 | 国产精品久久久久久久久久久久午夜 | 国产成人自拍视频在线 | 国产一区二区三区网站 | 最新黄色毛片 | 黑人一区二区 | 国产免费观看一区二区三区 | 国产精品男女 | 国产免费乱淫av | 亚洲精品成人久久 | 国产乱淫av片免费观看 | 成品片a免费直接观看 | 日韩黄站 | 七首小情歌泰剧在线播放 | 精品久久久久久久久久中出 | 亚洲成人夜色 | 亚洲一区成人 | sm高h视频| 精品国产乱码久久久久久丨区2区 | 伊人网站| 亚洲网站免费看 | 新久草在线视频 | 国产亚洲精品久久久久婷婷瑜伽 | 日韩毛片一区二区三区 | 免费人成年短视频在线观看网站 | 久久精品视频黄色 | 久久精品亚洲一区 | 色婷婷一区二区三区 | 免费久久精品 | 亚洲一区二区三区精品在线观看 | 在线 日本 制服 中文 欧美 | 在线日韩av电影 | 久久精品视频7 | 久色成人网| 亚洲成人久久精品 | 成人男女视频 |