本文实例讲述了Ubuntu下使用Python实现游戏制作中的切分图片功能。分享给大家供大家参考,具体如下:
why
拿到一个人物行走的素材,要用TexturePacker打包。TexturePacker打包后,助于游戏加载图片效率,且比较好管理。
目前得到一张整图,无法直接导入到TexturePacker。
what
切片:使用切片将源图像分成许多的功能区域。
how
1 ubuntu下图片处理软件 GIMP: 画好参考线后, 点击 滤镜->WEB ->切片
2 python + PIL (pip install pillow
安装)
第一种手动太麻烦,不好精细自动化操作。
采用第二种
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# 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
|
希望本文所述对大家Python程序设计有所帮助。
原文链接:https://blog.csdn.net/baidang201/article/details/42625435