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基于checksum计算文件是否相同的方法
Jul 09 Python
Python之py2exe打包工具详解
Jun 14 Python
python处理Excel xlrd的简单使用
Sep 12 Python
Python 多核并行计算的示例代码
Nov 07 Python
python脚本监控Tomcat服务器的方法
Jul 06 Python
使用tensorflow实现线性svm
Sep 07 Python
Django高级编程之自定义Field实现多语言
Jul 02 Python
解决pycharm上的jupyter notebook端口被占用问题
Dec 17 Python
pandas中ix的使用详细讲解
Mar 09 Python
解决安装新版PyQt5、PyQT5-tool后打不开并Designer.exe提示no Qt platform plugin的问题
Apr 24 Python
Python 操作 MySQL数据库
Sep 18 Python
python drf各类组件的用法和作用
Jan 12 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
将数组写入txt文件 var_export
2009/04/21 PHP
PHP中文编码小技巧
2014/12/25 PHP
php显示指定目录下子目录的方法
2015/03/20 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
2015/06/23 PHP
PHP缓冲区用法总结
2016/02/14 PHP
WebGame《逆转裁判》完整版 代码下载(1月24日更新)
2007/01/29 Javascript
神奇的代码 通杀各种网站-可随意修改复制页面内容
2008/07/17 Javascript
CSS和JS标签style属性对照表(方便js开发的朋友)
2010/11/11 Javascript
jquery动态增加text元素以及删除文本内容实例代码
2013/07/01 Javascript
探讨JavaScript中声明全局变量三种方式的异同
2013/12/03 Javascript
JavaScript中property和attribute的区别详细介绍
2015/03/03 Javascript
jquery实现的蓝色二级导航条效果代码
2015/08/24 Javascript
纯JavaScript代码实现移动设备绘图解锁
2015/10/16 Javascript
JS实现自动阅读单词(有道单词本添加功能)
2016/11/14 Javascript
在vue-cli搭建的项目中增加后台mock接口的方法
2018/04/26 Javascript
vue实现带复选框的树形菜单
2019/05/27 Javascript
简单了解小程序+node梳理登陆流程
2019/06/24 Javascript
详解Vue-cli3.X使用px2rem遇到的问题
2019/08/09 Javascript
vue-autoui自匹配webapi的UI控件的实现
2020/03/20 Javascript
微信小程序实现上传多张图片、删除图片
2020/07/29 Javascript
vue单元格多列合并的实现
2020/11/26 Vue.js
使用python实现接口的方法
2017/07/07 Python
python通过opencv实现批量剪切图片
2017/11/13 Python
Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例
2018/05/04 Python
对Python正则匹配IP、Url、Mail的方法详解
2018/12/25 Python
python实现银行管理系统
2019/10/25 Python
pytorch forward两个参数实例
2020/01/17 Python
python的setattr函数实例用法
2020/12/16 Python
销售行业个人求职自荐信
2013/09/25 职场文书
土地转让协议书
2014/04/15 职场文书
教师演讲稿大全
2014/05/16 职场文书
承诺书格式范文
2014/06/03 职场文书
2015年度女工工作总结
2015/10/22 职场文书
关于保护环境的建议书
2019/06/24 职场文书
Nginx如何配置Http、Https、WS、WSS的方法步骤
2021/05/11 Servers
图文详解matlab原始处理图像几何变换
2021/07/09 Python