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单向链表的实现
Dec 24 Python
详解Python网络爬虫功能的基本写法
Jan 28 Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
Jul 11 Python
Python内建函数之raw_input()与input()代码解析
Oct 26 Python
Python最火、R极具潜力 2017机器学习调查报告
Dec 11 Python
一条命令解决mac版本python IDLE不能输入中文问题
May 15 Python
pandas筛选某列出现编码错误的解决方法
Nov 07 Python
python3获取url文件大小示例代码
Sep 18 Python
一文了解python 3 字符串格式化 F-string 用法
Mar 04 Python
基于Python生成个性二维码过程详解
Mar 05 Python
Python使用sys.exc_info()方法获取异常信息
Jul 23 Python
Python selenium环境搭建实现过程解析
Sep 08 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
六酷社区论坛HOME页清新格调免费版 下载
2007/03/07 PHP
php进程(线程)通信基础之System V共享内存简单实例分析
2019/11/09 PHP
PHP设计模式之装饰器(装饰者)模式(Decorator)入门与应用详解
2019/12/13 PHP
HTML代码中标签的全部属性 中文注释说明
2009/03/26 Javascript
JavaScript中把数字转换为字符串的程序代码
2013/06/19 Javascript
点击进行复制的JS代码实例
2013/08/23 Javascript
HTTP 304错误的详细讲解
2013/11/13 Javascript
JS简单操作select和dropdownlist实例
2014/11/26 Javascript
JS仿百度自动下拉框模糊匹配提示
2016/07/25 Javascript
JS之相等操作符详解
2016/09/13 Javascript
vue router-link传参以及参数的使用实例
2017/11/10 Javascript
基于zTree树形菜单的使用实例
2017/12/25 Javascript
细说webpack源码之compile流程-入口函数run
2017/12/26 Javascript
jQuery AJAX 方法success()后台传来的4种数据详解
2018/08/08 jQuery
ElementUI Tag组件实现多标签生成的方法示例
2019/07/08 Javascript
vue随机验证码组件的封装实现
2020/02/19 Javascript
vue实现简单学生信息管理
2020/05/30 Javascript
[01:01:41]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第二场 1月31日
2021/03/11 DOTA
Python异常处理总结
2014/08/15 Python
python字典基本操作实例分析
2015/07/11 Python
Python实现的弹球小游戏示例
2017/08/01 Python
Python中用字符串调用函数或方法示例代码
2017/08/04 Python
Pycharm在创建py文件时,自动添加文件头注释的实例
2018/05/07 Python
python opencv鼠标事件实现画框圈定目标获取坐标信息
2020/04/18 Python
pytorch使用 to 进行类型转换方式
2020/01/08 Python
Python3+SQLAlchemy+Sqlite3实现ORM教程
2021/02/16 Python
戴尔美国官网:Dell
2016/08/31 全球购物
Sunglasses Shop丹麦:欧洲第一的太阳镜在线销售网站
2017/10/22 全球购物
英国曼彻斯特宠物用品品牌:Bunty Pet Products
2019/07/27 全球购物
Tenstickers法国:墙贴和装饰贴纸
2019/08/26 全球购物
李维斯牛仔裤荷兰官方网站:Levi’s NL
2020/08/23 全球购物
XML文档面试题
2015/08/05 面试题
双十佳事迹材料
2014/01/29 职场文书
说明书怎么写
2014/05/06 职场文书
公司授权委托书格式范文
2014/10/02 职场文书
2015年工程部工作总结
2015/04/30 职场文书