首页 > 其他 > 详细

canvas绘制网络字体

时间:2020-02-21 10:31:29      阅读:58      评论: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 版权所有
打开技术之扣,分享程序人生!