canvasContext.font真机无效
发布于 6 年前 作者 pcao 6701 次浏览 来自 问答

1、第一个设置了粗体,第二个不设置粗体,第二个还是显示粗体

ctx.setFillStyle(’#000000’);

ctx.beginPath();

ctx.font = ‘normal bold 20px sans-serif’;

ctx.fillText(‘test code’, 0, 20);

ctx.beginPath();

ctx.font = ‘normal normal 20px sans-serif’;

ctx.fillText(‘test code’, 0, 60);


2、不设置粗体的情况下,设置斜体无效

ctx.setFillStyle('#000000');

ctx.beginPath();

ctx.font = 'italic normal20px sans-serif';

ctx.fillText('test code', 0, 20);


3、英文数字设置斜体有效,中文无效

ctx.setFillStyle('#000000');

ctx.beginPath();

ctx.font = 'italic bold 20px sans-serif';

ctx.fillText('测试代码', 0, 20);


3 回复

看来 很多人 遇到这个问题了,官方就没测试过吗

你好,请提供出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

1、第一个设置了粗体,第二个不设置粗体,第二个还是显示粗体

ctx.save()

ctx.setFillStyle('#000000');

ctx.font = `normal bold 20px ${(platform == 'ios') ? 'Helvetica': 'Noto'}`

ctx.fillText('test code', 0, 20);

ctx.restore()


ctx.font = `normal normal 20px ${(platform == 'ios') ? 'Helvetica''Noto'}`

ctx.fillText('test code', 0, 60);


2、不设置粗体的情况下,设置斜体无效

  真机无效的话,1也有可能无效,font字体必须配置正确,不能缺省,默认iphone自带Helvetica,安卓是noto(好像是)

回到顶部