gpt4 book ai didi

c++ - cocos-2d C++ 中的 captureScreen - 如何使用或保存捕获的图像?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:42:41 25 4
gpt4 key购买 nike

我想在我的 (iOS) 应用程序中有一个按钮,用于截取当前屏幕的屏幕截图,然后将其附加到短信中。

就像我在其他应用中看到的那样......

enter image description here

我的消息发送正常,我想我的屏幕截图也正常,但我不知道屏幕截图保存在哪里或如何使用它。

我的消息发送是通过应用程序中的按钮调用的...

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");
}
}

我在控制台中收到消息“屏幕捕获成功”,并且我的消息应用打开并显示预填充的文本消息。

我需要做的是将屏幕截图添加到此消息中,但我看不到如何操作,也看不到屏幕截图的保存位置,或者如何使用保存的屏幕截图。

最佳答案

如果成功,它将保存在私有(private)应用程序目录中。使用像 iExplorer 这样的软件,找到你的应用程序,它应该在 Documents 目录中。如果你想在照片中看到它,你必须手动将它添加到那里。

为了实现这个,你必须调用UIImageWriteToSavedPhotosAlbum

参见:How to save picture to iPhone photo library?

您必须在 AppController.m 中创建一个函数并从此处使用它。您可以从 C++ 调用 objc 代码。它需要 UIImage,因此首先您必须传递文件路径并从中加载 uiimage,然后最后添加到图库。

关于c++ - cocos-2d C++ 中的 captureScreen - 如何使用或保存捕获的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44056794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com