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