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编写网页爬虫脚本并实现APScheduler调度
Jul 28 Python
详解python调度框架APScheduler使用
Mar 28 Python
python使用代理ip访问网站的实例
May 07 Python
python os用法总结
Jun 08 Python
Python中Proxypool库的安装与配置
Oct 19 Python
python学习开发mock接口
Apr 28 Python
Python实现个人微信号自动监控告警的示例
Jul 03 Python
基于python操作ES实例详解
Nov 16 Python
Python读写操作csv和excle文件代码实例
Mar 16 Python
Python Tornado批量上传图片并显示功能
Mar 26 Python
Python 如何实现访问者模式
Jul 28 Python
Python如何识别银行卡卡号?
Jun 10 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
如何给phpadmin一个保护
2006/10/09 PHP
用PHP实现维护文件代码
2007/06/14 PHP
用PHP将网址字符串转换成超链接(网址或email)
2010/05/25 PHP
jquery的extend和fn.extend的使用说明
2011/01/09 Javascript
使用js写的一个简易的投票
2013/11/27 Javascript
JS实现鼠标点击展开或隐藏表格行的方法
2015/03/03 Javascript
js同源策略详解
2015/05/21 Javascript
如何解决ligerUI布局时Center中的Tab高度大小
2015/11/24 Javascript
JS使用面向对象技术实现的tab选项卡效果示例
2017/02/28 Javascript
一篇文章让你彻底弄懂JS的事件冒泡和事件捕获
2017/08/14 Javascript
jQuery选择器之属性过滤选择器详解
2017/09/28 jQuery
利用node实现一个批量重命名文件的函数
2017/12/21 Javascript
详解vue项目打包后通过百度的BAE发布到网上的流程
2018/03/05 Javascript
webpack公共组件引用路径简化小技巧
2018/06/15 Javascript
nodejs中express入门和基础知识点学习
2018/09/13 NodeJs
Node.js之readline模块的使用详解
2019/03/25 Javascript
vue自定义指令实现仅支持输入数字和浮点型的示例
2019/10/30 Javascript
Python的字典和列表的使用中一些需要注意的地方
2015/04/24 Python
利用python实现简单的邮件发送客户端示例
2017/12/23 Python
对python 各种删除文件失败的处理方式分享
2018/04/24 Python
Anaconda 离线安装 python 包的操作方法
2018/06/11 Python
python实现比较文件内容异同
2018/06/22 Python
python实现可变变量名方法详解
2019/07/01 Python
python的等深分箱实例
2019/11/22 Python
Python获取、格式化当前时间日期的方法
2020/02/10 Python
python为什么要安装到c盘
2020/07/20 Python
python基于opencv 实现图像时钟
2021/01/04 Python
Ratchet 模态框的实现
2020/08/19 HTML / CSS
ProBikeKit新西兰:自行车套件,跑步和铁人三项装备
2017/04/05 全球购物
小学数学课后反思
2014/04/23 职场文书
优秀语文教师事迹
2014/05/18 职场文书
普通话演讲稿
2014/09/03 职场文书
家庭困难证明
2014/10/12 职场文书
志愿者个人总结
2015/03/03 职场文书
靠谱的活动总结
2019/04/16 职场文书
java.util.NoSuchElementException原因及两种解决方法
2022/06/28 Java/Android