通过cocos裁切图片,将大图分为小图
2015-04-02 19:42
429 查看
游戏要用动画,美工还没做出来,于是,从网上找来了几张图,不过图是JavaME时代的图,动画都是靠裁切来显示的,于是想将大图分割成小图来用。
图片规格:图中每个小图的大小是相等的,基本上都是正行,整列的。
上代码:
图片规格:图中每个小图的大小是相等的,基本上都是正行,整列的。
上代码:
const char * CutNormalImage::IMAGE_FORMAT_NAME = "image_ (%d).png" ; const char * pSaveImageFromar = "image_%d_%d_%d.png" ; int row = 4 ; int col = 4 ; int begin = 1 ; int end = 116 ; USING_NS_CC ; void CutNormalImage::cutImage() { for (int k = begin ;k <= end ; k++) { const char * pImageName = CCString::createWithFormat(CutNormalImage::IMAGE_FORMAT_NAME,k)->getCString() ; CCSprite* pSprite = CCSprite::create(pImageName); pSprite->setAnchorPoint(ccp(0,0)); float width = pSprite->getContentSize().width / col ; float height = pSprite->getContentSize().height / row ; for (int i = 0 ; i < row ;i++) { for (int j = 0 ;j < col ;j++) { float x = j * width ; float y = i * height ; CCSprite * pCell = CCSprite::create(pImageName,CCRectMake(x,y,width,height)) ; pCell->setAnchorPoint(ccp(0,0)) ; const char* pName = CCString::createWithFormat(pSaveImageFromar,k,i ,j)->getCString() ; CCRenderTexture* rrt = CCRenderTexture::create(width,height); rrt->clear(0,0,0,0); rrt->begin(); pCell ->visit(); rrt->end(); CCImage *pImage = rrt->newCCImage(true); std::string fullpath = CCFileUtils::sharedFileUtils()->getWritablePath() + pName; pImage->saveToFile(fullpath.c_str(), false); } } } }
相关文章推荐
- 通过css裁切图片为菱形图片
- 将website图片合并成一个大图,通过background-position来获取
- cocos-js 使用clipingnode 将正方形图片裁切成圆形图片
- 图片地址防盗链,通过IHttpHandler实现
- 如何不通过其他工具,把图片、声音等存储到sql中
- [功能改进]通过WindowsLiveWriter上传图片
- 通过Web Services上传和下载图片文件
- CSS样式控制图片裁切显示
- 通过.NET程序给图片添加文字的两种方式~
- 在运行时将大图分割为小图片数组
- 通过图片镜像drawString多国语言
- J2ME中通过Http协议传输图片
- 完善ImageStone中的图片裁切
- 如何通过java或jsp向数据库存取二进制图片
- 图片地址防盗链,通过IHttpHandler实现
- 图片地址防盗链,通过IHttpHandler实现
- 如何不通过其他工具,把图片、声音等存储到sql中(载自http://blog.csdn.net/softj处)
- CSS样式控制图片裁切显示
- 图片地址防盗链,通过IHttpHandler实现
- 通过WebService上传图片