cocos-2d C中的captureScreen – 如何使用或保存捕获的图像?
发布时间:2020-12-14 18:58:57 所属栏目:百科 来源:网络整理
导读:我想在我的(iOS)应用程序中有一个按钮,它会截取当前屏幕的屏幕截图,然后将其附加到文本消息中. 就像我在其他应用程序中看到的…… 我有消息发送工作,我认为我有截图工作,但我不知道截图保存在哪里或如何使用它. 我的消息发送是从应用程序中的按钮调用的… vo
我想在我的(iOS)应用程序中有一个按钮,它会截取当前屏幕的屏幕截图,然后将其附加到文本消息中.
就像我在其他应用程序中看到的…… 我有消息发送工作,我认为我有截图工作,但我不知道截图保存在哪里或如何使用它. 我的消息发送是从应用程序中的按钮调用的… void GameOverScene::messageCallBack(cocos2d::Ref *sender) { CocosDenshion::SimpleAudioEngine::getInstance()->playEffect(ALL_BUTTONS_CLICK_SOUND_NAME); utils::captureScreen( CC_CALLBACK_2(GameOverScene::afterCaptured,this),"screenshot.png" ); __String *messageTextOne = __String::create("sms:&body=Hey,%20I%20just%20hit%20a%20score%20of%20"); __String *messageTextTwo = __String::createWithFormat("%i",score); __String *messageURL = __String::createWithFormat("%s%s",messageTextOne->getCString(),messageTextTwo->getCString()); Application::getInstance()->openURL(messageURL->getCString()); } 截图功能是…… void GameOverScene::afterCaptured( bool succeed,const std::string &outputFile ) { if (succeed) { log("Screen capture succeeded"); Size screenSize = Director::getInstance()->getWinSize(); RenderTexture * tex = RenderTexture::create(screenSize.width,screenSize.height); tex->setPosition(screenSize.width/2,screenSize.height/2); tex->begin(); this->getParent()->visit(); tex->end(); tex->saveToFile("Image_Save.png",Image::Format::PNG); } else { log("Screen capture failed"); } } 我在控制台“屏幕截图成功”中收到消息,我的消息应用程序打开时显示预填充的短信. 我需要做的是将屏幕截图添加到此消息,但我无法看到如何做到这一点,或保存屏幕截图的位置,或如何使用保存的屏幕截图.
如果成功,它将保存在私有应用程序目录中.使用像iExplorer这样的软件,找到你的应用程序,它应该在Documents目录中.如果你想在照片中看到它,你可以在那里手动添加它.
为了实现这一目标,你必须打电话 见:How to save picture to iPhone photo library? 您必须在AppController.m中创建一个函数并从此处使用它.你可以从c调用objc代码.它需要UIImage,所以首先你必须传递filepath并从中加载uiimage,然后最后添加到gallery. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |