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使用7z解压软件备份文件脚本分享
Feb 21 Python
python使用cookie库操保存cookie详解
Mar 03 Python
数据挖掘之Apriori算法详解和Python实现代码分享
Nov 07 Python
Python插件virtualenv搭建虚拟环境
Nov 20 Python
Python实现的根据文件名查找数据文件功能示例
May 02 Python
对Python闭包与延迟绑定的方法详解
Jan 07 Python
对Python3之方法的覆盖与super函数详解
Jun 26 Python
Django中间件拦截未登录url实例详解
Sep 03 Python
Python导入模块包原理及相关注意事项
Mar 25 Python
解决tensorflow模型压缩的问题_踩坑无数,总算搞定
Mar 02 Python
用python自动生成日历
Apr 24 Python
OpenCV项目实践之停车场车位实时检测
Apr 11 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 download.php实现代码 跳转到下载文件(response.redirect)
2009/08/26 PHP
flash用php连接数据库的代码
2011/04/21 PHP
php获取文件内容最后一行示例
2014/01/09 PHP
简单实现php上传文件功能
2017/09/21 PHP
让Firefox支持event对象实现代码
2009/11/07 Javascript
基于jQuery的遍历同id元素 并响应事件的代码
2012/06/14 Javascript
JS自定义功能函数实现动态添加网址参数修改网址参数值
2013/08/02 Javascript
Node调试工具JSHint的安装及配置教程
2014/05/27 Javascript
innerHTML动态添加html代码和脚本兼容多个浏览器
2014/10/11 Javascript
JavaScript闭包详解
2015/02/02 Javascript
使用node+vue.js实现SPA应用
2016/01/28 Javascript
jQuery实现只允许输入数字和小数点的方法
2016/03/02 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图的组合双轴图效果示例【附demo源码下载】
2017/03/09 Javascript
jQuery初级教程之网站品牌列表效果
2017/08/02 jQuery
node 利用进程通信实现Cluster共享内存
2017/10/27 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
2017/12/26 Javascript
使用typescript开发angular模块并发布npm包
2018/04/19 Javascript
使用vue2实现带地区编号和名称的省市县三级联动效果
2018/11/05 Javascript
一些你可能不熟悉的JS知识点总结
2019/03/15 Javascript
[02:07]DOTA2超级联赛专访BBC:难忘网吧超神经历
2013/06/09 DOTA
Python EOL while scanning string literal问题解决方法
2020/09/18 Python
python实现txt文件格式转换为arff格式
2018/05/31 Python
python使用folium库绘制地图点击框
2018/09/21 Python
Python关于excel和shp的使用在matplotlib
2019/01/03 Python
Python图像处理PIL各模块详细介绍(推荐)
2019/07/17 Python
Python分割训练集和测试集的方法示例
2019/09/19 Python
flask框架json数据的拿取和返回操作示例
2019/11/28 Python
python3 tcp的粘包现象和解决办法解析
2019/12/09 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
2020/02/13 Python
英国太阳镜品牌:Taylor Morris Eyewear
2018/04/18 全球购物
英国豪华家具和家居用品购物网站:Teddy Beau
2020/10/12 全球购物
应聘医药代表职位求职信
2013/10/21 职场文书
纪检干部先进事迹材料
2014/08/23 职场文书
2015年施工员工作总结范文
2015/04/20 职场文书
2015年六年级班主任工作总结
2015/10/15 职场文书
2016国庆节67周年寄语
2015/12/07 职场文书