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

转自: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()下面

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...