【微信小程序】微信小程序使用canvas合成海报时遇上字体无法正常加载的问题

使用微信的加载字体apiwx.loadFontFace进行字体加载时,首先按照官方示例进行字体加载

wx.loadFontFace({
  family: 'Bitstream Vera Serif Bold',
  source: 'url("https://res.wx.qq.com/t/wx_fed/base/weixin_portal/res/static/font/33uDySX.ttf")',
  success: console.log
})

发现字体在小程序模拟器中显示正常但是在手机上加载失败
于是仔细阅读文档,发现需要在字体文件所在服务器上开启对小程序域名(servicewechat.com)的跨域支持
在这里插入图片描述

第二次尝试发现在手机上正常显示但是使用canvas2d合成海报时无法使用字体,第二次仔细阅读文档,发现还需要进行scopes的设置来确定字体的生效范围,
在这里插入图片描述
于是再次进行修改

wx.loadFontFace({
    family: 'SourceHanSansCN-Regular',
    global: true,
    scopes: ['webview', 'native'],
    source: 'url("https://res.wx.qq.com/t/wx_fed/base/weixin_portal/res/static/font/33uDySX.ttf")', //此处需替换为真实字体地址
    success(res) {
        console.log('loadFontFace=>>>>' + JSON.stringify(res))
    },
    fail: function(res) {
        console.log('loadFontFace=>>>>' + JSON.stringify(res))
    },
    complete: function(res) {
        console.log('loadFontFace=>>>>' + JSON.stringify(res))
    }
})

这次成功在canvas中正常使用字体

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值