首页 > 其他 > 详细

canvas绘制网络字体

时间:2020-02-21 10:31:29      阅读:63      评论:0      收藏:0      [点我收藏+]
var canvas = document.getElementById(‘canvas‘)
var ctx = canvas.getContext(‘2d‘)
var link = document.createElement(‘link‘)
link.rel = ‘stylesheet‘
link.type = ‘text/css‘
link.href = ‘http://fonts.googleapis.com/css?family=Vast+Shadow‘
document.getElementsByTagName(‘head‘)[0].appendChild(link)
var image = document.createElement(‘img‘)
image.src = link.href
image.onerror = () => {
  document.fonts.load(‘50px Vast Shadow‘, ‘123‘).then(() => {
    ctx.font = ‘50px "Vast Shadow"‘
    ctx.textBaseline = ‘top‘
    ctx.fillText(‘123‘, 20, 10)
  })
}

我是用Font.js去加载字体,但是第二次才会生效。https://github.com/Pomax/Font.js

优化了下改成,Font.js加载完在onload方法执行以下方法:

var font = new Font(fontFamily);
font.onload=function(evt){
     document.fonts.load(‘50px Vast Shadow‘, ‘123‘).then(() => {
    //你的代码
  })   
}

重点是必须要使用该字体浏览器才会及时去渲染,

document.fonts.load

 

canvas绘制网络字体

原文:https://www.cnblogs.com/codeDevotee/p/12340227.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!