canvas引入外部字体无效解决方法

1.css文件中引入外部字体

@font-face {
    font-family: ‘hwhp‘;
    src: url(‘../font/hwhp.ttf‘) format(‘truetype‘),
        url(‘../font/hwhp.eot‘),
        url(‘../font/hwhp.woff‘) format(‘woff‘),
        url(‘../font/hwhp.svg‘) format(‘svg‘);
}

canvas设置字体样式

var wm = document.createElement(‘canvas‘);
        wm.setAttribute(‘width‘, 600);
        wm.setAttribute(‘height‘, 500);
        var ctx = _wm.getContext(‘2d‘);
        ctx.font = "130px ‘hwhp‘";
        ctx.translate(50, 380);
        ctx.rotate(-0.5);
        ctx.fillStyle="#F8F8FF";
        ctx.fillText(text, 0, 0);

最重要的一步,html文件中需要预先使用字体样式,尽量放在body下面第一个元素,元素必须可见。

<div style="font-family: hwhp;">.</div>

相关推荐