python

超轻量级php框架startmvc

Ubuntu下使用Python实现游戏制作中的切分图片功能

更新时间:2020-05-26 08:42:01 作者:startmvc
本文实例讲述了Ubuntu下使用Python实现游戏制作中的切分图片功能。分享给大家供大家参考,

本文实例讲述了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

Ubuntu Python 游戏制作 切分图片