收藏
回答

新版本 canvas 不支持 ctx.filter()嘛?

具体表现:

开发者工具:

使用新的canvas实例方法,

ctx.filter = "grayscale(1)";保存图片可以变灰。

扫体验码 开发码 真机就不好使,保存的图片还是彩色原图。

不是说已经把web canvas迁移过来吗?

在一个掘坟帖子中看到:3年了这功能还没好使


https://developers.weixin.qq.com/community/develop/doc/000c2443714e482772aa02c7a56c00?highLine=canvas%2520%2520%2520ctx.filter%2520%253D%2520%2522grayscale%281%29%2522%253B%25E6%2597%25A0%25E6%2595%2588


// <canvas id="canvas" type="2d"></canvas>
​
  onLoad: function () {
    wx.createSelectorQuery().select('#canvas')
    .node(res => {
      const canvas = res.node;
      const ctx = canvas.getContext('2d');
      canvas.width = 100;
      canvas.height = 100;
      const gradient = ctx.createLinearGradient(0, 0, 100, 100);
      gradient.addColorStop(0, 'red')
      gradient.addColorStop(1, 'black')
      ctx.fillStyle = gradient;
      ctx.filter = 'saturate(70%)';
      ctx.fillRect(0, 0, 100, 100);
    }).exec()
  }




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

2 个回答

登录 后发表内容