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 相关文章推荐
基于pandas数据样本行列选取的方法
Apr 20 Python
Python 确定多项式拟合/回归的阶数实例
Dec 29 Python
python调用c++ ctype list传数组或者返回数组的方法
Feb 13 Python
Python创建字典的八种方式
Feb 27 Python
Python实现制度转换(货币,温度,长度)
Jul 14 Python
python经典趣味24点游戏程序设计
Jul 26 Python
python pycharm的安装及其使用
Oct 11 Python
Python字符串中删除特定字符的方法
Jan 15 Python
关于Tensorflow分布式并行策略
Feb 03 Python
如何提高python 中for循环的效率
Apr 15 Python
记一次python 爬虫爬取深圳租房信息的过程及遇到的问题
Nov 24 Python
python垃圾回收机制原理分析
Apr 13 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使之能同时支持GIF和JPEG
2006/10/09 PHP
WordPress中注册菜单与调用菜单的方法详解
2015/12/18 PHP
php实现的一段简单概率相关代码
2016/05/30 PHP
js png图片(有含有透明)在IE6中为什么不透明了
2010/02/07 Javascript
iframe如何动态创建及释放其所占内存
2014/09/03 Javascript
get(0).tagName获得作用标签示例代码
2014/10/08 Javascript
javascript实现详细时间提醒信息效果的方法
2015/03/11 Javascript
javascript中DOM复选框选择用法实例
2015/05/14 Javascript
如何根据百度地图计算出两地之间的驾驶距离(两种语言js和C#)
2015/10/29 Javascript
Bootstrap中的表单验证插件bootstrapValidator使用方法整理(推荐)
2016/06/21 Javascript
vue项目前端知识点整理【收藏】
2019/05/13 Javascript
小程序如何构建骨架屏
2019/05/29 Javascript
深入学习JavaScript 高阶函数
2019/06/11 Javascript
Vue表单控件数据绑定方法详解
2020/02/05 Javascript
Bootstrap table 服务器端分页功能实现方法示例
2020/06/01 Javascript
理解Proxy及使用Proxy实现vue数据双向绑定操作
2020/07/18 Javascript
[01:07:47]Secret vs Optic Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
Python简单获取自身外网IP的方法
2016/09/18 Python
python Crypto模块的安装与使用方法
2017/12/21 Python
Python实现在tkinter中使用matplotlib绘制图形的方法示例
2018/01/18 Python
python使用PIL实现多张图片垂直合并
2019/01/15 Python
Python 一键制作微信好友图片墙的方法
2019/05/16 Python
Python使用sqlite3模块内置数据库
2020/05/07 Python
css3中transition属性详解
2014/09/02 HTML / CSS
英国广泛的照明产品网站:Lights4living
2018/01/28 全球购物
德国净水壶和滤芯品牌:波尔德PearlCo(家用净水器)
2020/04/29 全球购物
介绍一下#error预处理
2015/09/25 面试题
公司门卫的岗位职责
2014/02/19 职场文书
《灰椋鸟》教学反思
2014/04/27 职场文书
健康状况证明书
2014/11/26 职场文书
2015年感恩节演讲稿(优选篇)
2015/03/20 职场文书
导游词之无锡华莱坞
2019/12/02 职场文书
导游词之峨眉山
2019/12/16 职场文书
Vue如何实现组件间通信
2021/05/15 Vue.js
Redis缓存-序列化对象存储乱码问题的解决
2021/06/21 Redis
星际争霸:毕姥爷vs解冻03
2022/04/01 星际争霸