收藏
回答

putImageData重新渲染像素,无法实现透明?

const createPixel = this.ctx.getImageData(this.pikaqiuX, this.pikaqiuY, 280, 280)

let data = createPixel.data;

let average = 0;

for (let i = 0; i < data.length; i+=4) {

data[i+3] = 0

}

this.ctx.putImageData(createPixel, this.pikaqiuX, this.pikaqiuY)

把a设置为0,在开发工具上可以透明图像, 在预览中没有发生变化

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

2 个回答

  • Demons
    Demons
    2021-12-16

    你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)

    2021-12-16
    有用
    回复 2
    • HSL
      HSL
      2021-12-17
      机型: iphone13 ;   微信版本:8.0.16; 系统版本: 15.0.2
      片段: https://developers.weixin.qq.com/s/aMZZHBmY70vM
      2021-12-17
      回复
    • HSL
      HSL
      2021-12-20
      我去解决了,这为啥rgba全部都得修改为0才有效, a不是代表透明了, 为啥还要修改rgb而且必须为0才有效
      2021-12-20
      回复
  • xplee
    xplee
    2021-12-16

    用这个试试呢

    https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setGlobalAlpha.html

    2021-12-16
    有用
    回复 2
    • HSL
      HSL
      2021-12-17
      我是需要把drawImage到canvas中的图像像素全部透明掉
      2021-12-17
      回复
    • HSL
      HSL
      2021-12-17回复HSL
      应该不能说全部透明,把白色的像素透明而已
      2021-12-17
      回复
登录 后发表内容