cocos2d-js 保存截图到相册

这篇博客介绍了如何在cocos2d-js游戏中通过JavaScript代码调用Java静态方法,将屏幕截图转换为Base64字符串,并进一步保存到设备相册。通过jsb.reflection.callStaticMethod方法与Java的桥接,实现了跨平台的截图保存功能。
摘要由CSDN通过智能技术生成

js代码:

    在按钮中调用该函数:

SaveImage: function ()
{
    var size = cc.director.getWinSize();
    var fileName = "share.png";
    var fullPath = jsb.fileUtils.getWritablePath() + fileName; //拿到可写路径,将图片保存在本地,可以在ios端或者java端读取该文件
    cc.log("文件是否存在 11111: " + jsb.fileUtils.isFileExist(fullPath));

    if (jsb.fileUtils.isFileExist(fullPath)) {
         cc.log("移除文件!");
         jsb.fileUtils.removeFile(fullPath);
     }

    var texture = new cc.RenderTexture(Math.floor(size.width), Math.floor(size.height));
    texture.setPosition(cc.p(size.width / 2, size.height / 2));
    texture.begin();
    cc.director.getRunningScene().visit(); //这里可以设置要截图的节点,设置后只会截取指定节点和其子节点
    texture.end();
//存储文件  这个文件在内存中找不到  但是可以获取到  通过转化为二进制文件 再转化为base64调用java函数来存储
    texture.saveToFile(fileName, cc.IMAGE_FORMAT_PNG);

    cc.log("文件是否存在 : " + jsb.fileUtils.isFileExist(fullPath))
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值