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字符遍历的艺术
Sep 06 Python
python进阶教程之循环对象
Aug 30 Python
跟老齐学Python之开始真正编程
Sep 12 Python
使用Python脚本对Linux服务器进行监控的教程
Apr 02 Python
Python利用flask sqlalchemy实现分页效果
Aug 02 Python
python 读取DICOM头文件的实例
May 07 Python
python爬虫超时的处理的实例
Dec 19 Python
[机器视觉]使用python自动识别验证码详解
May 16 Python
python取余运算符知识点详解
Jun 27 Python
python按照list中字典的某key去重的示例代码
Oct 13 Python
python基于tkinter制作下班倒计时工具
Apr 28 Python
OpenCV绘制圆端矩形的示例代码
Aug 30 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 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
2014/06/12 PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
2016/05/20 PHP
PHP 用session与gd库实现简单验证码生成与验证的类方法
2016/11/15 PHP
jQuery的运行机制和设计理念分析
2011/04/05 Javascript
javascript学习笔记(八) js内置对象
2012/06/19 Javascript
JQuery加载图片自适应固定大小的DIV
2013/09/12 Javascript
iframe子父页面调用js函数示例
2013/11/07 Javascript
采用call方式实现js继承
2014/05/20 Javascript
jquery常用方法及使用示例汇总
2014/11/08 Javascript
使用ajax+jqtransform实现动态加载select
2014/12/01 Javascript
JavaScript常用本地对象小结
2016/03/28 Javascript
总结JavaScript三种数据存储方式之间的区别
2016/05/03 Javascript
nodejs微信公众号支付开发
2016/09/19 NodeJs
JavaScript 字符串常用操作小结(非常实用)
2016/11/30 Javascript
javascript数组定义的几种方法
2017/10/06 Javascript
基于Proxy的小程序状态管理实现
2019/06/14 Javascript
vue 实现走马灯效果
2019/10/28 Javascript
在Vue中使用this.$store或者是$route一直报错的解决
2019/11/08 Javascript
nodemon实现Typescript项目热更新的示例代码
2019/11/19 Javascript
python搭建简易服务器分析与实现
2012/12/15 Python
Python统计日志中每个IP出现次数的方法
2015/07/06 Python
python中OrderedDict的使用方法详解
2017/05/05 Python
django实现登录时候输入密码错误5次锁定用户十分钟
2017/11/05 Python
查看python安装路径及pip安装的包列表及路径
2019/04/03 Python
pytorch如何冻结某层参数的实现
2020/01/10 Python
Tensorflow不支持AVX2指令集的解决方法
2020/02/03 Python
python中添加模块导入路径的方法
2021/02/03 Python
加拿大休闲和工业服装和鞋类零售商:L’Équipeur
2018/01/12 全球购物
西安当代医院管理研究院笔试题
2015/12/11 面试题
软件生产职位结构化面试主要考察要素及面试题库
2015/06/12 面试题
教师推荐信范文
2013/11/24 职场文书
学生个人自我鉴定范文
2014/03/28 职场文书
精神文明建设汇报材料
2014/12/24 职场文书
初中班主任工作总结2015
2015/05/13 职场文书
继续教育心得体会(共6篇)
2016/01/19 职场文书
Python 数据可视化神器Pyecharts绘制图像练习
2022/02/28 Python