您的位置:首页 > 移动开发 > Cocos引擎

cocos2d-x如何截屏并保存图片

2014-04-04 14:22 525 查看
转自:http://blog.csdn.net/wolfking_2009/article/details/11022693

static void ScreenShoot()
{
CCSize size = CCDirector::sharedDirector()->getWinSize();
//定义一个屏幕大小的渲染纹理
CCRenderTexture* pScreen = CCRenderTexture::create(size.width,size.height, kCCTexture2DPixelFormat_RGBA8888);
//获得当前的场景指针
CCScene* pCurScene = CCDirector::sharedDirector()->getRunningScene();
//渲染纹理开始捕捉
pScreen->begin();
//当前场景参与绘制
pCurScene->visit();
//结束捕捉
pScreen->end();
//保存为png
pScreen->saveToFile("XXXXXX.png", kCCImageFormatPNG);
//保存为jpg
pScreen->saveToFile("XXXXXX.jpg", kCCImageFormatJPEG);
CC_SAFE_DELETE(pScreen);
}


有人问这个是保存到哪儿去了。这个是写出文件,所以应该是保存到写出路径下面,翻看了下源码,果然是。写出路径为CCFileUtils::sharedFileUtils()->getWritablePath(),字面理解,这个是可写出的路径,不同平台路径也不同,不过可以通过上面的方法去获取这个路径~~~

想具体了解各个平台的写出路径,可以去看看源码。

win32平台的话,如果debug会生成到exe输出的那个路径,release的话,会生成到c盘用户下面的项目下面~

如果大家有其他的自定义写出文件,可以直接指定路径到CCFileUtils::sharedFileUtils()->getWritablePath()下面
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: