Ubuntu下使用Python实现游戏制作中的切分图片功能
作者:剑有偏锋 发布时间:2021-02-22 22:55:53
标签:Ubuntu,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程序设计有所帮助。
来源:https://blog.csdn.net/baidang201/article/details/42625435


猜你喜欢
- redis相信大家都很熟悉了,和memcached一样是一个高性能的key-value数据库,至于什么是缓存服务器,度娘都有很明白的介绍了,
- 在图片处理过程中,有时候我们想要确定图片中某一像素的坐标,可以通过下面方法得到。点击运行程序,用鼠标点击我们想要获取坐标的区域,即可获得其坐
- 下面我们自己在 Linux 下做一个动态库(.so 文件 - Shared Object),然在用 Go 来使用它。本文所用的操作系统为 U
- 1。建立数据库表 表名为online 设如下字段 id '用来记录每一个访问都的session.sessionid name
- 1.urlopen()方法urllib.urlopen(url[, data[, proxies]]) :创建一个表示远程url的类文件对象
- 本文主要给大家介绍了关于Python中getpass模块的相关内容,分享出来供大家参考学习,话不多说了,来一起看看详细的介绍:getpass
- 游标游标(Cursor)是用于查看或者处理结果集中的数据的一种方法。游标提供了在结果集中一次一行或者多行前进或向后浏览数据的能力。游标的使用
- 这几天不是很忙,就找了些拖动布局方面的资料看看,也学着写了个拖动布局的效果,没想到花了好多时间,七拼八凑,总算是把这个效果写出来了。哎!还是
- 和获取网页上的信息不同,想要进行模拟登录还需要向服务器发送一些信息,如账号、密码等等。模拟登录一个网站大致分为这么几步:1.先将登录网站的隐
- 本文主要介绍了Matlab中plot基本用法的具体使用,分享给大家,具体如下:>> y=[0 0.58 0.70 0.95 0.
- 前言微信小程序自带的消息提示框有字数限制,而且图标仅仅只有"success","loading",&
- 开门见山,直接以例子介绍: 代码如下:CREATE TABLE [dbo].[course]( [id] [int] NULL,
- list:Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。比如,列出寝室所有室友的名
- 说明1、ChainMap的主要用例是提供一种有效的方法来管理多个范围或上下文,并处理重复键的访问优先级。2、当有多个存储重复键的字典访问它们
- 一、关联规则概述1993年,Agrawal等人在首先提出关联规则概念,迄今已经差不多30年了,在各种算法层出不穷的今天,这算得上是老古董了,
- 将一个CSV格式的文件分割成两个CSV文件本项目可以按照比例将一个csv文件分割成两个csv文件,效果是:在C:\algo_file文件夹下
- python中reduce和map简介map(func,seq1[,seq2...]) :将函数func作用于给定序列的每个元素,并用一个列
- oracle如果存储过程比较复杂,我们要定位到错误就比较困难,那么可以存储过程的调试功能先按简单的存储过程做个例子,就是上次做的存储过程(p
- 使用 filters 实现 英文字母 转大写1、template :<di
- 哦,这就是真正牛X的程序员。不过,他也仅仅是牛X罢了,还不是大神。大神程序员是什么样儿呢?他是扫地僧,大隐隐于市。先搞清楚这些名词再说别的: