Cocos2dx加载网络图片并保存
2017-09-14 15:43
495 查看
bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !Layer::init() ) { return false; } HttpRequest* request = new HttpRequest(); request->setUrl("http://neoimaging.beareyes.com.cn/png2/ni_png_2_1518.png"); request->setRequestType(HttpRequest::Type::GET); request->setResponseCallback(this, httpresponse_selector(HelloWorld::onHttpRequestCompleted)); request->setTag("GET test1"); HttpClient::getInstance()->send(request); request->release(); return true; } void HelloWorld::onHttpRequestCompleted(HttpClient *sender, HttpResponse *response) { if (!response) { return; } // You can get original request type from: response->request->reqType if (0 != strlen(response->getHttpRequest()->getTag())) { log("%s completed", response->getHttpRequest()->getTag()); } int statusCode = response->getResponseCode(); if (!response->isSucceed()) { log("response failed"); log("error buffer: %s", response->getErrorBuffer()); return; } //get data std::vector<char> *buffer = response->getResponseData(); //create image CCImage* img = new CCImage; img->initWithImageData((unsigned char*)buffer->data(),buffer->size()); //create texture cocos2d::CCTexture2D* texture = new CCTexture2D(); bool isImg = texture->initWithImage(img); img->release(); //create sprite CCSprite* sprite = CCSprite::createWithTexture(texture); texture->release(); sprite->setPosition(ccp(100,100)); addChild(sprite,100); //write file std::string path = CCFileUtils::sharedFileUtils()->getWritablePath(); path+="download_image.png"; FILE *fp = fopen(path.c_str(), "wb+"); fwrite(buffer->data(), 1,buffer->size(), fp); fclose(fp); }
相关文章推荐
- 从网络获取图片保存到sdcard,以及加载为bitmap显示到ImageView
- iOS-网络图片通过NSOperation线程依赖异步加载并保存到沙盒中
- Android ZoomImageView手势缩放拖动图片,并将Glide加载的网络图片保存到本地。
- cocos2dx加载网络动态图片资源
- Libgdx实现异步加载网络图片并保存到SD卡或者data/data目录下边
- 加载网络图片保存到本地java.io.IOException: open failed: EINVAL (Invalid argument)
- cocos2dx下载网络图片保存在本地
- cocos2dx加载网络图片&图片流加载显示
- 本地保存gif图片,实现第二次不网络加载
- coco2dx加载网络图片并保存
- cocos2dx加载网络动态图片资源
- cocos2dx 动态加载网络图片
- 网络加载的图片缓存(做本地化保存)
- Libgdx实现异步加载网络图片并保存到SD卡或者data/data目录下边
- 使用AsyncTask加载网络图片并保存到手机本地
- android 网络加载图片并保存本地,压缩,jpeg png格式分析
- swift 基础小结 --delegate、Optional、GCD的使用、request请求、网络加载图片并保存到沙箱、闭包以及桥接
- 基于cocos2dx3.3,AnyImageView类实现网络加载图片,或者加载本地图片
- Android 异步加载网络图片并缓存到本地 软引用 学习分享
- 使用Glide加载的图片保存到相册,保存gif到相册