Quantcast
Channel: Cocos中文社区 - 最新帖子
Viewing all articles
Browse latest Browse all 515413

小游戏截图黑屏问题

$
0
0
  • 做了一个截图分享的demo, 在自己电脑(mac 2.0.9版本)上创建的工程可以正常截图,在公司电脑(win 2.0.8)上截图是一块黑屏,截图功能的代码一样。有大神遇到过吗?

//截图部分代码:
//node 是上图 background节点
let camera = node.addComponent(cc.Camera);
      // 设置你想要的截图内容的 cullingMask
      camera.cullingMask = 0xffffffff;
      // 新建一个 RenderTexture,并且设置 camera 的 targetTexture 为新建的 RenderTexture,这样 camera 的内容将会渲染到新建的 RenderTexture 中。
      let texture = new cc.RenderTexture();
      let gl = cc.game._renderContext;
      // 如果截图内容中不包含 Mask 组件,可以不用传递第三个参数
      texture.initWithSize(500, 500, gl.STENCIL_INDEX8);
      camera.targetTexture = texture;
      // 渲染一次摄像机,即更新一次内容到 RenderTexture 中
      camera.render();

      // 这样我们就能从 RenderTexture 中获取到数据了
      let data = texture.readPixels();
      let width = texture.width;
      let height = texture.height;

      // 接下来就可以对这些数据进行操作了
      let canvas = document.createElement('canvas');
      let ctx = canvas.getContext('2d');
      canvas.width = width;
      canvas.height = height;
      let rowBytes = width * 4;
      for (let row = 0; row < height; row++) {
          let srow = height - 1 - row;
          let imageData = ctx.createImageData(width, 1);
          let start = srow*width*4;
          for (let i = 0; i < rowBytes; i++) {
              imageData.data[i] = data[start+i];
          }

          ctx.putImageData(imageData, 0, row);
      }

      // https://developers.weixin.qq.com/minigame/dev/api/render/canvas/Canvas.toTempFilePathSync.html
      canvas.toTempFilePath({
          x: 0,
          y: 0,
          width: width,
          height: height,
          destWidth: width,
          destHeight: height,
          fileType: 'jpg',
          quality: 1,
          success: function(res) {
              wx.shareAppMessage({
                  imageUrl: res.tempFilePath,
              })
          },
          fail:function() {
            console.log("shot screen failed!")
          }
      });

Viewing all articles
Browse latest Browse all 515413

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>