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


Posted in Python onMarch 30, 2018

本文实例讲述了Ubuntu下使用Python实现游戏制作中的切分图片功能。分享给大家供大家参考,具体如下:

why

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

拿到一个人物行走的素材,要用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

更多关于Python相关内容可查看本站专题:《Python数学运算技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python使用any判断一个对象是否为空的方法
Nov 19 Python
Python中用PIL库批量给图片加上序号的教程
May 06 Python
Python实现批量更换指定目录下文件扩展名的方法
Sep 19 Python
python 寻找list中最大元素对应的索引方法
Jun 28 Python
python读取图片并修改格式与大小的方法
Jul 24 Python
python TKinter获取文本框内容的方法
Oct 11 Python
python学生管理系统学习笔记
Mar 19 Python
使用Tensorflow将自己的数据分割成batch训练实例
Jan 20 Python
Python实现分数序列求和
Feb 25 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
May 17 Python
Pandas数据结构之Series的使用
Mar 31 Python
Python语法学习之进程的创建与常用方法详解
Apr 08 Python
Jupyter安装nbextensions,启动提示没有nbextensions库
Apr 23 #Python
python+opencv识别图片中的圆形
Mar 25 #Python
python中的内置函数max()和min()及mas()函数的高级用法
Mar 29 #Python
python学习入门细节知识点
Mar 29 #Python
Python实现加载及解析properties配置文件的方法
Mar 29 #Python
Python读取properties配置文件操作示例
Mar 29 #Python
Python实现读取Properties配置文件的方法
Mar 29 #Python
You might like
PHP删除HTMl标签的实现代码
2013/06/30 PHP
yii实现创建验证码实例解析
2014/07/31 PHP
使用PHPUnit进行单元测试并生成代码覆盖率报告的方法
2019/03/08 PHP
一个简单的JavaScript 日期计算算法
2009/09/11 Javascript
jquery autocomplete自动完成插件的的使用方法
2010/08/07 Javascript
学习并汇集javascript匿名函数
2010/11/25 Javascript
js jquery验证银行卡号信息正则学习
2013/01/21 Javascript
你必须知道的JavaScript 变量命名规则详解
2013/05/07 Javascript
js监听键盘事件示例代码
2013/07/26 Javascript
JQuery EasyUI 日期控件如何控制日期选择区间
2014/05/05 Javascript
js实现从右向左缓缓浮出网页浮动层广告的方法
2015/05/09 Javascript
详解JavaScript的流程控制语句
2015/11/30 Javascript
又一枚精彩的弹幕效果jQuery实现
2016/07/25 Javascript
javascript this详细介绍
2016/09/19 Javascript
Javascript农历与公历相互转换的简单实例
2016/10/09 Javascript
JavaScript比较同一天的时间大小实例代码
2018/02/09 Javascript
Vue CLI4 Vue.config.js标准配置(最全注释)
2020/06/05 Javascript
python基础教程之Hello World!
2014/08/29 Python
python调用摄像头显示图像的实例
2018/08/03 Python
django 使用 PIL 压缩图片的例子
2019/08/16 Python
python中seaborn包常用图形使用详解
2019/11/25 Python
将pytorch转成longtensor的简单方法
2020/02/18 Python
利用python实现逐步回归
2020/02/24 Python
Python函数参数定义及传递方式解析
2020/06/10 Python
Python基于staticmethod装饰器标示静态方法
2020/10/17 Python
总结30个CSS3选择器
2017/04/13 HTML / CSS
英国信箱在线鲜花速递公司:Bloom & Wild
2019/03/10 全球购物
高级运动鞋:GREATS
2019/07/19 全球购物
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2014/01/19 面试题
介绍一下MYSQL常用的优化技巧
2012/10/25 面试题
UNIX文件系统常用命令
2012/05/25 面试题
卫校毕业生自我鉴定
2013/10/31 职场文书
仓库主管岗位职责
2014/03/02 职场文书
职工擅自离岗检讨书
2014/09/23 职场文书
社区工作者个人总结
2015/02/28 职场文书
药房管理制度范本
2015/08/06 职场文书