coco2dx加载网络图片并保存
2013-11-08 18:19
471 查看
直接上代码
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); }
相关文章推荐
- Android ZoomImageView手势缩放拖动图片,并将Glide加载的网络图片保存到本地。
- 加载网络图片保存到本地java.io.IOException: open failed: EINVAL (Invalid argument)
- Libgdx实现异步加载网络图片并保存到SD卡或者data/data目录下边
- swift 基础小结 --delegate、Optional、GCD的使用、request请求、网络加载图片并保存到沙箱、闭包以及桥接
- Cocos2dx加载网络图片并保存
- 使用AsyncTask加载网络图片并保存到手机本地
- 网络加载的图片缓存(做本地化保存)
- android 网络加载图片并保存本地,压缩,jpeg png格式分析
- iOS-网络图片通过NSOperation线程依赖异步加载并保存到沙盒中
- 本地保存gif图片,实现第二次不网络加载
- coco2d-js 无法加载网络图片(Failed to execute 'texImage2D' on ‘WebGLRenderin
- 从网络获取图片保存到sdcard,以及加载为bitmap显示到ImageView
- Libgdx实现异步加载网络图片并保存到SD卡或者data/data目录下边
- Android Volley完全解析(二),使用Volley加载网络图片
- Android中ListView使用- 网络图片的异步加载
- android开发--ListView+Json+异步网络图片加载+滚动翻页的例子(图片能缓存,图片不错乱)
- Handler+thread 加载网络图片
- Android Volley完全解析(二),使用Volley加载网络图片
- Android 异步加载网络图片
- Picosso毕加索网络加载图片的框架