cocos2d-x V3.1 保存截图到安卓相册

Posted

技术标签:

【中文标题】cocos2d-x V3.1 保存截图到安卓相册【英文标题】:cocos2d-x V3.1 save screenshot to album for android 【发布时间】:2014-06-06 05:54:28 【问题描述】:

我是 cocos2d-x 的新手,我正在使用 v3.1。 之前用cocos2d写过一个app,现在想通过cocos2d-x添加一个android版本。

在线查看后,我使用此代码保存我的屏幕图像:

void Game1::takePhoto(Ref *pSender)

Size size = Director::getInstance()->getWinSize();
RenderTexture* texture = RenderTexture::create((int)size.width, (int)size.height);
texture->setPosition(Point(size.width, size.height));
texture->begin();
Director::getInstance()->getRunningScene()->visit();
texture->end();
if (texture->saveToFile("screenshot.png", kCCImageFormatPNG))
    CCLOG("screen captured");

文件保存在哪里?我在我的相册中找不到它,如何将它保存到安卓设备的相册中?

【问题讨论】:

【参考方案1】:

它保存到getWriteablePath() 返回的位置。

【讨论】:

但是如何将它保存到 Android 设备的图库(相册)?是否可以通过 C++ 使用 cocos2d-x 来做到这一点? 你在正确的轨道上。 cocos2d-x.org/wiki/How_to_Save_a_Screenshot 我得到一个日志,显示我的图像是安全的“/data/data/com.xxx.xxx/files/screenshot.png”但是我怎样才能将它保存到画廊?我应该为此操作调用 java 代码吗?或者我可以使用 C++ 来做到这一点?我搜索了cocos2dx论坛和堆栈溢出......似乎没有人能回答这个问题......你能帮忙吗?谢谢 我目前没有为Android开发,但我认为您需要致电:MediaStore.Images.Media.insertImage(getContentResolver(), yourBitmap, yourTitle , yourDescription); 我试过cpp: auto fullPath = FileUtils::getInstance()->getWritablePath() + fileName; JAVA: Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); File f = new File(filePath); Uri contentUri = Uri.fromFile(f); mediaScanIntent.setData(contentUri); me.sendBroadcast(mediaScanIntent); 但我仍然无法在我的图库中看到图片,有什么提示吗?

以上是关于cocos2d-x V3.1 保存截图到安卓相册的主要内容,如果未能解决你的问题,请参考以下文章

手机QQ音乐里,歌手→详情→歌手相册,里的照片怎么保存到本地

将屏幕截图保存到自定义相册

小程序截图保存到相册

如何在android上通过Cocos2d-x获取截图保存路径

swift3.0 屏幕截图并且保存到本地相册

安卓10(Android10API29)保存图片到相册DCIM/Camera