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笔记(叁)继续学习
Oct 24 Python
Python实现删除当前目录下除当前脚本以外的文件和文件夹实例
Jul 27 Python
JPype实现在python中调用JAVA的实例
Jul 19 Python
Python3之文件读写操作的实例讲解
Jan 23 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
Sep 20 Python
Python imread、newaxis用法详解
Nov 04 Python
Python双链表原理与实现方法详解
Feb 22 Python
python GUI库图形界面开发之PyQt5切换按钮控件QPushButton详细使用方法与实例
Feb 28 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
Apr 01 Python
Django多个app urls配置代码实例
Nov 26 Python
使用Python通过oBIX协议访问Niagara数据的示例
Dec 04 Python
Python关于OS文件目录处理的实例分享
May 23 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网站判断用户是否是手机访问的方法
2013/11/01 PHP
php导出excel格式数据问题
2014/03/11 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
jquery实现两个图片渐变切换效果的方法
2015/06/25 Javascript
原生js模拟淘宝购物车项目实战
2015/11/18 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(一)
2015/12/10 Javascript
理解javascript定时器中的单线程
2016/02/23 Javascript
Javascript 实现简单计算器实例代码
2016/10/23 Javascript
angular ngClick阻止冒泡使用默认行为的方法
2016/11/03 Javascript
jQuery中DOM节点删除之empty与remove
2017/01/20 Javascript
Bootstrap表单使用方法详解
2017/02/17 Javascript
selenium 与 chrome 进行qq登录并发邮件操作实例详解
2017/04/06 Javascript
微信小程序 chooseImage选择图片或者拍照
2017/04/07 Javascript
Angular2管道Pipe及自定义管道格式数据用法实例分析
2017/11/29 Javascript
ES6知识点整理之函数对象参数默认值及其解构应用示例
2019/04/17 Javascript
Node.js系列之安装配置与基本使用(1)
2019/08/30 Javascript
JavaScript Date对象功能与用法学习记录
2020/04/28 Javascript
Python实现LRU算法的2种方法
2015/06/24 Python
【Python】Python的urllib模块、urllib2模块批量进行网页下载文件
2016/11/19 Python
Python登录并获取CSDN博客所有文章列表代码实例
2017/12/28 Python
Python学习笔记之视频人脸检测识别实例教程
2019/03/06 Python
用django设置session过期时间的方法解析
2019/08/05 Python
wxPython实现带颜色的进度条
2019/11/19 Python
python 模拟登陆163邮箱
2020/12/15 Python
Kipling凯浦林美国官网:世界著名时尚休闲包袋品牌
2016/08/24 全球购物
新西兰珠宝品牌:Michael Hill
2017/09/16 全球购物
奥地利票务门户网站:oeticket.com
2019/12/31 全球购物
毕业生文员求职信
2013/11/03 职场文书
中国文明网签名寄语
2014/01/18 职场文书
关键在于落实心得体会
2014/09/03 职场文书
2014领导班子“四风问题”对照检查材料思想汇报(执法局)
2014/09/21 职场文书
交通事故赔偿协议书
2014/10/16 职场文书
宾馆前台接待岗位职责
2015/04/02 职场文书
再读《皇帝的新衣》的读后感悟!
2019/08/07 职场文书
TV动画《八十龟酱观察日记》第四季宣传PV公布
2022/04/06 日漫