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 29 Python
Python合并字典键值并去除重复元素的实例
Dec 18 Python
pytorch 把MNIST数据集转换成图片和txt的方法
May 20 Python
python3.X 抓取火车票信息【修正版】
Jun 19 Python
python调用摄像头显示图像的实例
Aug 03 Python
python3学生名片管理v2.0版
Nov 29 Python
详解Python列表赋值复制深拷贝及5种浅拷贝
May 15 Python
django框架模型层功能、组成与用法分析
Jul 30 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
Aug 30 Python
python判断变量是否为列表的方法
Sep 17 Python
Python实现图片指定位置加图片水印(附Pyinstaller打包exe)
Mar 04 Python
python爬不同图片分别保存在不同文件夹中的实现
Apr 02 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
WINDOWS服务器安装多套PHP的另类解决方案
2006/10/09 PHP
关于PHP的curl开启问题探讨
2014/04/08 PHP
CI框架教程之优化验证码机制详解【验证码辅助函数】
2019/04/16 PHP
用CSS+JS实现的进度条效果效果
2007/06/05 Javascript
深入理解javascript构造函数和原型对象
2014/09/23 Javascript
浏览器兼容的JS写法总结
2016/04/27 Javascript
全面解析JavaScript中apply和call以及bind(推荐)
2016/06/15 Javascript
移动端利用H5实现压缩图片上传功能
2017/03/29 Javascript
JavaScript实现图片本地预览功能【不用上传至服务器】
2017/09/20 Javascript
Express之托管静态文件的方法
2018/06/01 Javascript
基于canvas实现手写签名(vue)
2020/05/21 Javascript
vue+elementUI实现简单日历功能
2020/09/24 Javascript
Python运行的17个时新手常见错误小结
2012/08/07 Python
Python实现国外赌场热门游戏Craps(双骰子)
2015/03/31 Python
Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法
2016/04/12 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
2018/02/18 Python
Python机器学习算法之k均值聚类(k-means)
2018/02/23 Python
python 搭建简单的http server,可直接post文件的实例
2019/01/03 Python
在python中利用numpy求解多项式以及多项式拟合的方法
2019/07/03 Python
django 环境变量配置过程详解
2019/08/06 Python
Python实现socket非阻塞通讯功能示例
2019/11/06 Python
Python通过2种方法输出带颜色字体
2020/03/02 Python
Python关键字及可变参数*args,**kw原理解析
2020/04/04 Python
你需要学会的8个Python列表技巧
2020/06/24 Python
德国在线订购鲜花:Fleurop
2018/08/25 全球购物
法国亚马逊官方网站:Amazon.fr
2020/12/19 全球购物
专科文秘应届生求职信
2013/11/18 职场文书
父亲追悼会答谢词
2014/01/17 职场文书
澳大利亚商务邀请函
2014/01/17 职场文书
改进作风怎么办发言材料
2014/08/17 职场文书
2014年化工厂工作总结
2014/11/25 职场文书
委托公证书样本
2015/01/23 职场文书
幼儿园教师教育随笔
2015/08/14 职场文书
六五普法学习心得体会
2016/01/21 职场文书
浅析NIO系列之TCP
2021/06/15 Java/Android
MySQL连表查询分组去重的实现示例
2021/07/01 MySQL