zoukankan      html  css  js  c++  java
  • cocos2d-x截图功能clippingnode它也可用于——白费

    许多其他精彩分享:http://blog.csdn.net/u010229677

    3.1版本号:

    在Director数:

    bool Director::saveScreenshot(const std::string& fileName,const std::function<void(const std::string&)>& callback) 
    {
    	Image::Format format;  
    	//进行后缀推断  
    	if(std::string::npos != fileName.find_last_of(".")){  
    		auto extension = fileName.substr(fileName.find_last_of("."),fileName.length());  
    		if (!extension.compare(".png")) {  
    			format = Image::Format::PNG;  
    		} else if(!extension.compare(".jpg")) {  
    			format = Image::Format::JPG;  
    		} else{  
    			CCLOG("cocos2d: the image can only be saved as JPG or PNG format");  
    			return false;  
    		}  
    	} else {  
    		CCLOG("cocos2d: the image can only be saved as JPG or PNG format");  
    		return false ;  
    	}  
    	//获取屏幕尺寸,初始化一个空的渲染纹理对象  
    	auto renderTexture = RenderTexture::create(getWinSize().width, getWinSize().height, Texture2D::PixelFormat::RGBA8888, GL_DEPTH24_STENCIL8); //最后一个參数省略的话。对clippingnode截图是无效的
    	//清空并開始获取  
    	renderTexture->beginWithClear(0.0f, 0.0f, 0.0f, 0.0f);  
    	//遍历场景节点对象,填充纹理到RenderTexture中  
    	getRunningScene()->visit();  
    	//结束获取  
    	renderTexture->end();  
    	//保存文件  
    	renderTexture->saveToFile(fileName , format);  
    	//使用schedule在下一帧中调用callback函数  
    	auto fullPath = FileUtils::getInstance()->getWritablePath() + fileName;  
    	auto scheduleCallback = [&,fullPath,callback](float dt){  
    		callback(fullPath); 
    	};  
    	return true;
    }

    调用的话:

    Director::getInstance()->saveScreenshot("sss.png", nullptr);

    3.2版本号:

    #include "base/ccUtils.h"
    utils::captureScreen([](){log("ok");}, "dd.png");


    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    系统管理员必须掌握的20个Linux监控工具
    JavaWeb基础—MVC与三层架构
    JavaWeb基础—JavaBean
    JavaWeb基础—JSP
    myeclipse(eclipse)IDE配置
    JavaWeb基础—会话管理之Session
    JavaWeb基础—会话管理之Cookie
    JavaWeb基础—项目名的写法
    JavaWeb基础—HttpServletRequest
    JavaWeb基础—VerifyCode源码
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4618927.html
Copyright © 2011-2022 走看看