zoukankan      html  css  js  c++  java
  • 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()下面

  • 相关阅读:
    yapi 接口管理-格式化脚本
    如何快速将网站变为黑白?
    vue自定义事件传参
    重写vue1.X的broadcast和dispatch方法(ElementUI)
    h5 左右滑动切换tab栏
    安装pip和pylint
    使用jquery/javascript 获取网络时间
    关于手机适配的方案(transform)
    项目搭建模板
    AngularJS1.X版本双向绑定九问
  • 原文地址:https://www.cnblogs.com/sevenyuan/p/3645109.html
Copyright © 2011-2022 走看看