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的正则表达式re模块的常用方法
Mar 09 Python
Python最火、R极具潜力 2017机器学习调查报告
Dec 11 Python
Python OpenCV处理图像之滤镜和图像运算
Jul 10 Python
解决PyCharm同目录下导入模块会报错的问题
Oct 13 Python
对python中的装包与解包实例详解
Aug 24 Python
浅谈Django2.0 加xadmin踩的坑
Nov 15 Python
爬虫代理池Python3WebSpider源代码测试过程解析
Dec 20 Python
python-OpenCV 实现将数组转换成灰度图和彩图
Jan 09 Python
Python实现遗传算法(二进制编码)求函数最优值方式
Feb 11 Python
Python浮点型(float)运算结果不正确的解决方案
Sep 22 Python
详解基于Scrapy的IP代理池搭建
Sep 29 Python
浅谈python中的多态
Jun 15 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即时捕捉PHP中的错误并发送email通知的实现代码
2013/01/19 PHP
Laravel 5框架学习之数据库迁移(Migrations)
2015/04/08 PHP
PHP strripos函数用法总结
2019/02/11 PHP
微信JSSDK分享功能图文实例详解
2019/04/08 PHP
Yii框架多语言站点配置方法分析【中文/英文切换站点】
2020/04/07 PHP
js split 的用法和定义 js split分割字符串成数组的实例代码
2012/05/13 Javascript
前端轻量级MVC框架CanJS详解
2014/09/26 Javascript
浅谈javascript回调函数
2014/12/07 Javascript
JavaScript实现当网页加载完成后执行指定函数的方法
2015/03/21 Javascript
JavaScript学习笔记之创建对象
2016/03/25 Javascript
AngularJS 指令详细介绍
2016/07/27 Javascript
JavaScript实现的微信二维码图片生成器的示例
2016/10/26 Javascript
vue双向绑定简要分析
2017/03/23 Javascript
十个免费的web前端开发工具详细整理
2017/09/18 Javascript
javascript中神奇的 Date对象小结
2017/10/12 Javascript
如何让你的JS代码更好看易读
2017/12/01 Javascript
记一次webapck4 配置文件无效的解决历程
2018/09/19 Javascript
[17:36]VG战队纪录片
2014/08/21 DOTA
[38:44]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第二局
2016/02/25 DOTA
python抓取网页内容示例分享
2014/02/24 Python
Python对小数进行除法运算的正确方法示例
2014/08/25 Python
解决pip install xxx报错SyntaxError: invalid syntax的问题
2018/11/30 Python
智能旅行箱:Horizn Studios
2018/04/30 全球购物
国际经济贸易专业推荐信
2013/11/06 职场文书
致裁判员加油稿
2014/02/08 职场文书
捐助倡议书范文
2014/04/15 职场文书
2014年党员创先争优承诺书
2014/05/29 职场文书
运动会口号8字
2014/06/07 职场文书
党支部三会一课计划
2014/09/24 职场文书
小学见习报告
2014/10/31 职场文书
高中班主任心得体会
2016/01/07 职场文书
班级元旦晚会开幕词
2016/03/04 职场文书
2019大学生暑期实习心得总结
2019/08/21 职场文书
MySQL系列之十五 MySQL常用配置和性能压力测试
2021/07/02 MySQL
CSS文本阴影 text-shadow 悬停效果详解
2022/05/25 HTML / CSS
el-table-column 内容不自动换行的解决方法
2022/08/14 Vue.js