收藏
回答

canvas 此类设置canvasContext.font = value 无效

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug Canvas 工具 6.6.2 2.2.2

在canvas中要设置文字字体,官方示例为:我怎么写都无效呢,请问正确用法?


canvasContext.font = value


最后一次编辑于  2018-08-11  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

4 个回答

  • 卢霄霄
    卢霄霄
    2018-08-11

    还真不是这样写的。。粗体 斜体 字号 是可以设置的,就按照官方例子里的设。但是 font-family 无法设置成 loadFont 获取的字体,系统自带的字体可以设的。android和iOS自带的字体,可以百度下~

    2018-08-11
    赞同
    回复
  • Wilson
    Wilson
    2018-08-11

    代码:

    const back_ctx = wx.createCanvasContext('back_canvas');

    back_ctx.setFontSize(13);

    back_ctx.font = "weight: bold";

    back_ctx.setTextAlign('right');

    back_ctx.setFillStyle("#000");

    back_ctx.fillText('font写法不是这样的么?', 306, 232);


    出现的错误为:

    Failed to set 'font' on 'CanvasContext': invalid format.

    我的编译版本是2.2.2,应该是不需要做兼容处理吧。这个估计是用法不对,但是找不到。

    在网上找到一个字体加粗的方法:

    if (obj.bold) {

               this.ctx.fillText(obj.text, obj.x, obj.y + 0.5);

               this.ctx.fillText(obj.text, obj.x + 0.5, obj.y);

    }


    请问是不是确实不支持。

    2018-08-11
    赞同
    回复
  • 王木木
    王木木
    2018-08-11

    我先前开过个帖子问过关于设置字体样式,按照官方例子设置无效,即使自己在项目里添加了字体文件也没用,官方也没有解答,但是粗体、斜体、字号这些是没问题的。

    2018-08-11
    赞同
    回复
  • 小余
    小余
    2018-08-11
    1. 注意确认各平台所支持的字体

    2. 基础库 1.9.90 开始支持,低版本需做兼容处理

    3. 开发者工具测试的话,要设置对应的基础库版本

    2018-08-11
    赞同
    回复