收藏
回答

canvas组件添加背景颜色

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug canvas 客户端 6.5.2 2.5.2

canvas组件在jpg格式下真机出现黑色图片,怎么添加一个白色背景,让画布自定义签名保存真机不出现黑色图片状态(只能是jpg格式的图片,png透明背景不行)




回答关注问题邀请回答
收藏

3 个回答

  • 神经蛙
    神经蛙
    2020-01-18

    canvas 转 image/jpeg 是 会舍弃掉透明度。所以会导致base64后,透明区域变成黑色。推荐一种解决方法:先在canvas上填充白色背景,再绘制其他内容,其他的背景颜色也是同理的。

    2020-01-18
    有用 1
    回复 3
    • Luyc
      Luyc
      2021-01-14
      怎么给他白色背景???我怎么设置都没有效果!!!
      2021-01-14
      回复
    • lie
      lie
      2021-03-23回复Luyc
      所以我们要在canvasToTempFilePath中加上一个参数, fileType: 'jpg';即可解决
      2021-03-23
      1
      回复
    • 悠南
      悠南
      2021-03-24回复lie
      瞎说,就是因为背景是透明的而且设置的jpg,所以才会是黑色的
      2021-03-24
      回复
  • XXSLEEP8
    XXSLEEP8
    2023-07-06

    const ctx = canvas.getContext('2d');

    ctx.fillStyle = '#ffffff';

    ctx.fillRect0, 0, _this.data.canvasWidth, _this.data.canvasHeight);//绘制填充白色背景


    2023-07-06
    有用
    回复
  • 星火🌟
    星火🌟
    2019-12-19

    楼主后来加了什么?求赐教,我也遇到了这个问题

    2019-12-19
    有用
    回复 2
    • 神经蛙
      神经蛙
      2020-01-18
      canvas 转 image/jpeg 是 会舍弃掉透明度。所以会导致base64后,透明区域变成黑色。推荐一种解决方法:先在canvas上填充白色背景,再绘制其他内容,其他的背景颜色也是同理的。
      2020-01-18
      1
      回复
    • 神经蛙
      神经蛙
      2021-03-28
      如果是绘制海报,推荐使用www.imgrender.cn
      2021-03-28
      回复
登录 后发表内容