官方截图案例说明以及截图怎样保存到本地

大哥们,本人新手一枚,想请教一下官方截图实例:

let node = new cc.Node();
node.parent = cc.director.getScene();
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(cc.visibleRect.width, cc.visibleRect.height, gl.STENCIL_INDEX8);
camera.targetTexture = texture;

// 渲染一次摄像机,即更新一次内容到 RenderTexture 中
camera.render();

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

**

// Question: 为啥要创建此canvas

**

// 接下来就可以对这些数据进行操作了
let canvas = document.createElement(‘canvas’);
let ctx = canvas.getContext(‘2d’);
canvas.width = texture.width;
canvas.height = texture.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 = srowwidth4;
for (let i = 0; i < rowBytes; i++) {
imageData.data[i] = data[start+i];
}

ctx.putImageData(imageData, 0, row);

}

let dataURL = canvas.toDataURL(“image/jpeg”);
let img = document.createElement(“img”);
img.src = dataURL;

// Question: 怎样把图片保存到本地

标题头

官方的APP截图demo,可以把文件保存到本地,是不是你需要的?

不知道什么原因为何一直不能提供一个友好的截图接口,比如像安卓或者iOS原生开发那样简单好用的接口,现在的截图总感觉像是临时解决方案。。。

保存到本地的那?? 怎么没找到

你看下官方的这个示例代码
07_capture_texture/capture_to_native

没有被保存啊,我换了几个手机测试都没有用

保存不到手机里面什么问题,现在感觉官方人员都很少回答问题了呢

在模拟器下是可以正常保存的,但是再真机上测试就没有被保存 @Jno

只是保存到了应用的安装文件夹下,系统相册读取不到不是白保存了吗? 写这个官方截图实例的意义是什么呢?

每天顶一下

是的现在官方回应又慢又少,估计膨胀了

有的时候回复上来就给一个链接,然后跳转的地方还不是指定问题的api,而是官方首页,很无语

很多链接都是无效链接了 ,我都遇到很多次了。

下班顶一下

日常顶一下

上班顶

下班顶

大佬,手机浏览器有办法实现截图吗? @huanxinyin

上班顶

上班顶