Ubuntu下使用Python实现游戏制作中的切分图片功能

yipeiwu_com7年前Python基础

本文实例讲述了Ubuntu下使用Python实现游戏制作中的切分图片功能。分享给大家供大家参考,具体如下:

why

拿到一个人物行走的素材,要用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而不是Java?

为什么入门大数据选择Python而不是Java?

马云说:“未来最大的资源就是数据,不参与大数据十年后一定会后悔。”毕竟出自wuli马大大之口,今年二月份我开始了学习大数据的道路,直到现在对大数据的学习脉络和方法也渐渐清晰。今天我们就来...

使用python写一个自动浏览文章的脚本实例

创建python文件fling.py,代码如下: #!/usr/bin/env monkeyrunner import time from com.android.monkeyrun...

Python语法分析之字符串格式化

前序 There should be one - and preferably only one - obvious way to do it. ———— the Zen of Pyt...

Python Opencv实现图像轮廓识别功能

Python Opencv实现图像轮廓识别功能

本文实例为大家分享了python opencv识别图像轮廓的具体代码,供大家参考,具体内容如下 要求:用矩形或者圆形框住图片中的云朵(不要求全部框出) 轮廓检测 Opencv-Pyth...

python局域网ip扫描示例分享

复制代码 代码如下:#!/usr/bin/python# -*- coding: utf-8 -*- from scapy.all import *from time import ct...