转自 http://www.cppblog.com/merlinfang/archive/2013/08/06/202364.html
- void ScreenShoot::screenShoot()
- {
- CCSize size = CCDirector::sharedDirector()->getWinSize();
- //定义一个屏幕大小的渲染纹理;
- CCRenderTexture * pScreen = CCRenderTexture::create(size.width,size.height,kCCTexture2DPixelFormat_RGBA8888);//截取格式;
- //获取当前的场景指针:
- CCScene * pCurScene = CCDirector::sharedDirector()->getRunningScene();
- //渲染纹理开始捕捉:
- pScreen->begin();
- //当前场景参与绘制;
- this->visit();//pCurScene->visit(),这样用会发生访问冲突;
- //结束捕捉;
- pScreen->end();
- //保存为png;
- pScreen->saveToFile("XXX.png",kCCImageFormatPNG);//保存为png格式的,kCCImageFormatJPG 保存为jpg格式的;
- CC_SAFE_DELETE(pScreen);//截完后删除;
- }