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音乐里,歌手→详情→歌手相册,里的照片怎么保存到本地