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实现基本线性数据结构
Aug 22 Python
Python中__init__.py文件的作用详解
Sep 18 Python
Python获取文件所在目录和文件名的方法
Jan 12 Python
利用Python实现网络测试的脚本分享
May 26 Python
Django与JS交互的示例代码
Aug 23 Python
python可视化爬虫界面之天气查询
Jul 03 Python
Tensorflow 实现释放内存
Feb 03 Python
Windows 平台做 Python 开发的最佳组合(推荐)
Jul 27 Python
python中sys模块是做什么用的
Aug 16 Python
如何使用pycharm连接Databricks的步骤详解
Sep 23 Python
python3实现飞机大战
Nov 29 Python
TensorFlow的自动求导原理分析
May 26 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编写发红包程序
2015/07/22 PHP
php生成图片验证码的实例讲解
2015/08/03 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
2016/05/06 PHP
Yii2实现让关联字段支持搜索功能的方法
2016/08/10 PHP
浅谈PHP封装CURL
2019/03/06 PHP
JavaScript 高级篇之函数 (四)
2012/04/07 Javascript
window.onresize 多次触发的解决方法
2013/11/08 Javascript
写出高效jquery代码的19条指南
2014/03/19 Javascript
Jquery 监视按键,按下回车键触发某方法的实现代码
2014/05/11 Javascript
详解JavaScript的Polymer框架中的通知交互
2015/07/29 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
2016/09/17 Javascript
js中创建对象的几种方式
2017/02/05 Javascript
fckeditor部署到weblogic出现xml无法读取及样式不能显示问题的解决方法
2017/03/24 Javascript
JS获取字符对应的ASCII码实例
2017/09/10 Javascript
easyui下拉框动态级联加载的示例代码
2017/11/29 Javascript
微信小程序获取手机系统信息的方法【附源码下载】
2017/12/07 Javascript
Vue将页面导出为图片或者PDF
2020/08/17 Javascript
使用layui实现的左侧菜单栏以及动态操作tab项方法
2019/09/10 Javascript
微信小程序实现单个或多个倒计时功能
2020/11/01 Javascript
[27:28]Ti4 冒泡赛第二天 iG vs NEWBEE 1
2014/07/15 DOTA
详细介绍Python的鸭子类型
2016/09/12 Python
用十张图详解TensorFlow数据读取机制(附代码)
2018/02/06 Python
Python中函数的基本定义与调用及内置函数详解
2019/05/13 Python
Keras 数据增强ImageDataGenerator多输入多输出实例
2020/07/03 Python
神经网络训练采用gpu设置的方式
2021/03/03 Python
HTML5打开手机扫码功能及优缺点
2017/11/27 HTML / CSS
Carolina工作鞋官网:Carolina Footwear
2019/03/14 全球购物
新加坡领先的在线生活方式和杂货购物网站:EAMART
2019/04/02 全球购物
应届毕业生的自我鉴定
2013/11/13 职场文书
外企办公室竞聘演讲稿
2013/12/29 职场文书
生产部厂长职位说明书
2014/03/03 职场文书
商铺门面租房协议书
2014/10/21 职场文书
公务员岗前培训心得体会
2016/01/08 职场文书
2019财务转正述职报告
2019/06/27 职场文书
JS异步堆栈追踪之为什么await胜过Promise
2021/04/28 Javascript
SpringCloud超详细讲解Feign声明式服务调用
2022/06/21 Java/Android