重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本文实例讲述了Ubuntu下使用Python实现游戏制作中的切分图片功能。分享给大家供大家参考,具体如下:
创新互联拥有网站维护技术和项目管理团队,建立的售前、实施和售后服务体系,为客户提供定制化的成都网站建设、成都做网站、网站维护、成都服务器托管解决方案。为客户网站安全和日常运维提供整体管家式外包优质服务。我们的网站维护服务覆盖集团企业、上市公司、外企网站、商城系统网站开发、政府网站等各类型客户群体,为全球千余家企业提供全方位网站维护、服务器维护解决方案。why
拿到一个人物行走的素材,要用TexturePacker打包。TexturePacker打包后,助于游戏加载图片效率,且比较好管理。
目前得到一张整图,无法直接导入到TexturePacker。
what
切片:使用切片将源图像分成许多的功能区域。
how
1 ubuntu下图片处理软件 GIMP: 画好参考线后, 点击 滤镜->WEB ->切片
2 python + PIL (pip install pillow
安装)
第一种手动太麻烦,不好精细自动化操作。
采用第二种
# coding=utf-8 from PIL import Image import os def mkdir(path): # 去除首位空格 path=path.strip() # 去除尾部 \ 符号 path=path.rstrip("\\") # 判断路径是否存在 # 存在 True # 不存在 False isExists=os.path.exists(path) # 判断结果 if not isExists: # 如果不存在则创建目录 print path+' 创建成功' # 创建目录操作函数 os.makedirs(path) return True else: # 如果目录存在则不创建,并提示目录已存在 print path+' 目录已存在' return False cnt = 0 imageName = 'mageStand.png' pathName = 'mageStand' img = Image.open(imageName) ori_w,ori_h = img.size row = 4 col = 4 for j in range(0, col): Y = j*ori_h/col Y_end = Y + ori_h/col for i in range(0, row): X = i*ori_w/row X_end = X + ori_w/row print X, X_end if 8 == cnt: pathName+="adv" cnt = 0 mkdir(pathName) fileName = '%s/a_%d.png' %(pathName, cnt) img.crop((X, Y, X_end, Y_end)).save( fileName ) cnt+=1