cocos2d-x截屏功能clippingnode也能使用——白白
更多精彩分享:http://blog.csdn.net/u010229677
3.1版本:
在Director里面增加一个函数:
bool Director::saveScreenshot(const std::string& fileName,const std::function<void(const std::string&)>& callback)
{Image::Format format; //进行后缀判断 if(std::string::npos != fileName.find_last_of(".")){ auto extension = fileName.substr(fileName.find_last_of("."),fileName.length()); if (!extension.compare(".png")) { format = Image::Format::PNG; } else if(!extension.compare(".jpg")) { format = Image::Format::JPG; } else{ CCLOG("cocos2d: the image can only be saved as JPG or PNG format"); return false; } } else { CCLOG("cocos2d: the image can only be saved as JPG or PNG format"); return false ; } //获取屏幕尺寸,初始化一个空的渲染纹理对象 auto renderTexture = RenderTexture::create(getWinSize().width, getWinSize().height, Texture2D::PixelFormat::RGBA8888, GL_DEPTH24_STENCIL8); //最后一个参数省略的话,对clippingnode截图是无效的//清空并开始获取 renderTexture->beginWithClear(0.0f, 0.0f, 0.0f, 0.0f); //遍历场景节点对象,填充纹理到RenderTexture中 getRunningScene()->visit(); //结束获取 renderTexture->end(); //保存文件 renderTexture->saveToFile(fileName , format); //使用schedule在下一帧中调用callback函数 auto fullPath = FileUtils::getInstance()->getWritablePath() + fileName; auto scheduleCallback = [&,fullPath,callback](float dt){ callback(fullPath); }; return true;
}
调用的话:
Director::getInstance()->saveScreenshot("sss.png", nullptr);
3.2版本:
#include "base/ccUtils.h"
utils::captureScreen([](){log("ok");}, "dd.png");
cocos2d-x截屏功能clippingnode也能使用——白白相关推荐
- Cocos2d-x 截屏功能集成
1.集成到Director 这里选择把截屏功能继承到Director中,让全局的导演来执行截屏功能是一个很好的主意. void Director::saveScreenshot(const std:: ...
- android实现长截屏,Android实现全屏截图或长截屏功能
本文实例为大家分享了Android实现全屏截图或长截屏功能的具体代码,供大家参考,具体内容如下 全屏截图: /** * 传入的activity是要截屏的activity */ public stati ...
- android4.3 截屏功能的尝试与失败分析
感谢网友cjd6568358的帮助,新版的Android系统截屏功能已经实现,需要的朋友请移步项目主页:https://github.com/Android-ScreenShot/AndroidScr ...
- Atitit截屏功能的设计解决方案
Atitit截屏功能的设计解决方案 自己实现.... 使用快捷键.. 弹出自己的win,,背景是屏幕快照 点击鼠标光标变成十字状态 出现截屏窗口 调整截屏窗口位置与大小 释放鼠标,三个btn,, 复 ...
- java网页截图_Java实现的简单网页截屏功能示例
本文实例讲述了Java实现的简单网页截屏功能.分享给大家供大家参考,具体如下: package awtDemo; import java.awt.AWTException; import java.a ...
- html禁止手机截屏,[置顶] Android 应用内禁止截屏功能的实现
截图介绍 Android的调试工具DDMS提供有截屏功能,很多软件也会有截屏功能,在做支付等安全类应用的时候,为了保证用户的资产和系统安全,往往会禁止应用内截屏,禁止之后,在此应用处于前台的情况下,截 ...
- UnityShader19:渲染纹理(上)之截屏功能实现
一.渲染到 RT 渲染纹理(Render Texture) 就是游戏开发中经常被提到的 RT,渲染到 RT 本质上就是不将渲染的结果直接显示的屏幕上,而是存至一张指定的纹理中 在 Unity 中最简单 ...
- python截图工具和模拟鼠标键盘_python PyAutoGUI 模拟鼠标键盘操作和截屏功能
简介 一款跨平台/无依赖的自动化测试工具,目测只能控制鼠标/键盘/获取屏幕尺寸/弹出消息框/截屏. 安装 pip install pyautogui 鼠标键盘控制 >>> impor ...
- android自动截图实现,Android实现截屏功能
原标题:Android实现截屏功能 该方法主要利用SDK提供的view.getDrawingCache()方法,主要步骤如下: 设置view.setDrawingCacheEnabled(true) ...
最新文章
- 如何获得PMP认证证书
- php原生态三级联动_js,php,html实现地区三级联动
- emWin GUIBuilder V5.40a 无法保存文件问题解决方案
- 看清上市公司的财务分析
- C语言程序设计 | 大端小端存储解析以及判断方法
- mysql explain 为空_车祸现场!我的MySQL千万级数据表选错索引了!
- nuxt 服务器构建因太耗CPU进程被杀解决办法
- 初探弹出层的实现原理
- ds排序--希尔排序_排序算法 - 希尔排序分析及优化
- eplan如何导入access_EPLAN脚本从入门到应用-2
- python输出异常信息
- 《银行业金融机构数据治理指引》解读及解决方案建议
- 结构光的概念及其实现三维成像的主要原理
- 基础会计习题集(第五版-樊
- UE4镜头抖动CameraShake
- 系统安全及应用实验案例
- 《C语言程序设计》江宝钏主编-习题4-3-字母排序!!!
- 计算机存储单位--“大数据”概念
- ROS踩坑|warning:clock skew detected. Your build may be incomplete
- 领英精灵安全吗?附LinkedIn领英开发客户的关键点