cococs2dx-3.2 屏幕截图

//屏幕捕捉 方法一
void HelloWorld::capture_1(Ref* pSender)
{
	Size winSize = Director::sharedDirector()->getWinSize();
	
	//创建RenderTexture,纹理图片大小为窗口大小winSize
	RenderTexture* screen = RenderTexture::create(winSize.width, winSize.height);
	Scene* runningScene = Director::sharedDirector()->getRunningScene();
	//遍历开始--->结束  遍历当前场景Scene的所有子节点信息,画入screen中
	screen->begin();
	runningScene->visit();
	screen->end();

	//保存截图  并将其类型设置为 png 格式
	screen->saveToFile("ScreenShot1.png", Image::Format::PNG);
}
默认保存在工程的 Debug.win32 文件加下

//屏幕捕捉 方法二
void HelloWorld::capture_2(Ref* pSender)
{
	utils::captureScreen(CC_CALLBACK_2(HelloWorld::afterCapture, this),"D:/cocos2dx32/workspace/ForTest/Resources/ScreenShot2.jpg");
}

void HelloWorld::afterCapture(bool succeed, const std::string& outputFile)
{
	CCSize winSize = Director::sharedDirector()->getWinSize();
	if (succeed)
	{
		CCLog("path = %s", outputFile.c_str());

		//显示截图
		Sprite* sp = Sprite::create(outputFile);
		sp->setPosition(winSize/2);
		sp->setScale(0.5f);
		sp->setRotation(60.f);
		this->addChild(sp);
	}
	else
	{
		CCLog("Capture2 screen failed !!!");
	}
}

保存路径:

1、直接填写 ScreenShot.png 则会保存在默认的 Debug.win32 文件夹下

2、可以如上述文件中所写 填写一个指定路径,这样图片就会保存在该路径下

需要说明的是:如果你按照 D:\cocos2dx32\workspace\ForTest\Resources\ScreenShot2.jpg 这种方式传入路径,那么你的图片将会存在这个路径下,但是他的名字将会是 cocos2dx32workspaceForTestResourcesScreenShot2.jpg ,这点需要 注意 反斜杠(\)问题。


截图请到相应的路径下去查看:

显示效果:



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值