cocos2d-x 保存图片到相册

本文详细介绍了如何在iOS平台上使用cocos2d-x将图片保存到设备相册的方法,包括CCRenderTexture的使用及保存流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cocos2d-x 保存图片到相册 

2013-04-23 15:25:04|  分类: cocos2d-x |  标签: |字号 订阅

在ios平台上,如果已经用 CCRenderTexture将图片保存在document中,可使用一下方法保存到ios设备的相册中。

    // 保存图片到相册

#if(CC_TARGET_PLATFORM == CC_PLATFORM_IOS)

    std::string strPath = CCFileUtils::sharedFileUtils()->getWriteablePath()+ PHOTONAME ;

    NSString* path = [NSString stringWithUTF8String:strPath.c_str()];

    NSFileManager *fileManager = [NSFileManager defaultManager];

    //判断文件是否存在

    if (![fileManager fileExistsAtPath:path]) {

        UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Note" message:@"文件不存在" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];

        [alertView show];

        [alertView release];

    }else {

        //从指定目录读取图片

        UIImage *image = [UIImage imageWithContentsOfFile:path];

        UIImageWriteToSavedPhotosAlbum(image, nil, nil,nil);

    }

#endif

附: CCRenderTexture 的使用:

    //添加照相机

    m_pTarget = CCRenderTexture::create(size.width, size.height, kCCTexture2DPixelFormat_RGBA8888);

    m_pTarget->retain();

    m_pTarget->setPosition(ccp(size.width / 2, size.height / 2));

    addChild(m_pTarget,-1);

//拍照

    //m_pTarget->clear(CCRANDOM_0_1(), CCRANDOM_0_1(), CCRANDOM_0_1(), CCRANDOM_0_1());

    m_pTarget->clear(0, 0, 0, 0);

    m_pTarget->begin();

    this->visit();

    //layer->visit();

    m_pTarget->end();

   

    //保存图片

    char png[30];

    //以当前科目 当前关卡 当前题目作为图片名字保存图片

    sprintf(png, "image.png");

    m_pTarget->saveToFile(png, kCCImageFormatPNG);

   

    //添加照片

    CCImage *image = m_pTarget->newCCImage();

    CCTexture2D *tex = CCTextureCache::sharedTextureCache()->addUIImage(image, png);

    CC_SAFE_DELETE(image);

    CCTextureCache::sharedTextureCache()->removeTextureForKey(png)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值