收藏
回答

Canvas.toTempFilePath 截图透明背景变黑色?


  let canvas = document.createElement('canvas');

        canvas.width = width;

        canvas.height = height;

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


        let gpTexture = new cc.RenderTexture(); //绘制

        //@ts-ignore

        gpTexture.initWithSize(widthheightcc.game._renderContext.STENCIL_INDEX8);

        this.gpCamera.targetTexture = gpTexture;

        this.gpCamera.render(this.node);//相机绘制,将屏幕上的内容更新到renderTexture中

        let data = gpTexture.readPixels();//读取renderTexture中的数据

        // data = this.changeAlpha(data);


        let rowBytes = width * 4;

        for (let row = 0row < heightrow++) {

            let srow = height - 1 - row;

            let imageData = ctx.createImageData(width1);

            let start = srow * width * 4;

            for (let i = 0i < rowBytesi++) {

                imageData.data[i] = data[start + i];

            }

            ctx.putImageData(imageData0row);

        }

 

let _tempFilePath = await canvas.toTempFilePathSync(

                {

                    x: 0,

                    y: 0,

                    width: width,

                    height: height,

                    destWidth: 380,

                    destHeight: 380,

                    fileType: 'png',

                    quality: 1

                });


            wx.previewImage({

                urls: [_tempFilePath

            })

明明是透明部分 怎么就变成黑色了

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

2 个回答

  • 是小白啊
    是小白啊
    2019-09-12

    加个白色背景

    2019-09-12
    有用
    回复 1
    • 流年
      流年
      2020-07-20
      白色背景怎么加上去
      2020-07-20
      回复
  • 陈聪
    陈聪
    2019-09-12

    这是手机的背景色,图片是png没错,用ps打开还是透明

    2019-09-12
    有用
    回复 2
    • F.K
      F.K
      2019-09-12
      我只是 截图一个节点上的 没有背景图
      2019-09-12
      回复
    • F.K
      F.K
      2019-09-12

      我用Graphics组件绘画 然后截图保存 没有背景图 微信开发工具调试 显示是正常的 但是 微信上测 图片就有黑色了,好像是 微信存的图片默认Alpha值都是100%

      2019-09-12
      回复
登录 后发表内容
问题标签