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网络编程学习笔记(四):域名系统
Jun 09 Python
Python的requests网络编程包使用教程
Jul 11 Python
使用Python向C语言的链接库传递数组、结构体、指针类型的数据
Jan 29 Python
Python multiprocessing多进程原理与应用示例
Feb 28 Python
python matplotlib画图库学习绘制常用的图
Mar 19 Python
ZABBIX3.2使用python脚本实现监控报表的方法
Jul 02 Python
python切片的步进、添加、连接简单操作示例
Jul 11 Python
如何为Python终端提供持久性历史记录
Sep 03 Python
python使用for...else跳出双层嵌套循环的方法实例
May 17 Python
python3.7调试的实例方法
Jul 21 Python
PyQt5的QWebEngineView使用示例
Oct 20 Python
使用Python的开发框架Brownie部署以太坊智能合约
May 28 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初学者头痛的十四个问题
2006/07/12 PHP
ASP知识讲座四
2006/10/09 PHP
php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
2010/12/29 PHP
Thinkphp模板中使用自定义函数的方法
2012/09/23 PHP
PHP rawurlencode与urlencode函数的深入分析
2013/06/08 PHP
PHP上传图片进行等比缩放可增加水印功能
2014/01/13 PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
2016/04/30 PHP
JavaScript的类型简单说明
2010/09/03 Javascript
js跨浏览器实现将字符串转化为xml对象的方法
2013/09/25 Javascript
node.js正则表达式获取网页中所有链接的代码实例
2014/06/03 Javascript
理解js对象继承的N种模式
2016/01/25 Javascript
jQuery基于$.ajax设置移动端click超时处理方法
2016/05/14 Javascript
JavaScript来实现打开链接页面的简单实例
2016/06/02 Javascript
JavaScript中setter和getter方法介绍
2016/07/11 Javascript
JQuery中解决重复动画的方法
2016/10/17 Javascript
用jmSlip编写移动端顶部日历选择控件
2016/10/24 Javascript
vue增删改查的简单操作
2017/07/15 Javascript
使用Vue中 v-for循环列表控制按钮隐藏显示功能
2019/04/23 Javascript
用Vue.js在浏览器中实现裁剪图像功能
2019/06/18 Javascript
js实现左右轮播图
2020/01/09 Javascript
学习python之编写简单乘法口诀表实现代码
2016/02/27 Python
python 日志增量抓取实现方法
2018/04/28 Python
Python爬虫实战之12306抢票开源
2019/01/24 Python
python交易记录整合交易类详解
2019/07/03 Python
Python机器学习工具scikit-learn的使用笔记
2021/01/28 Python
香港最新科技与优质家居产品购物网站:J SELECT
2018/08/21 全球购物
医学专业应届生的自我评价
2014/02/28 职场文书
高中英语演讲稿范文
2014/04/24 职场文书
债务纠纷委托书
2014/08/30 职场文书
大学生团员个人总结
2015/02/14 职场文书
2015年加油站站长工作总结
2015/05/27 职场文书
音乐会主持人开场白
2015/05/28 职场文书
地雷战观后感
2015/06/09 职场文书
中学教师教学工作总结
2015/08/13 职场文书
HR在给员工开具离职证明时,需要注意哪些问题?
2019/07/03 职场文书
CSS中实现动画效果-附案例
2022/02/28 HTML / CSS