Python学习2,拆分plist图集,还原成小图

python的库太强大了,我们搬搬砖就ok了

运行环境:安装python,安装第三方库Pillow,biplist
Pillow用来操作图片,biplist解析plist文件

即用链接:下载地址(Win) 下载地址(Mac)
Mac下请使用命令(chmod +x UnpackTP_Mac)将文件变为可执行文件

import os
import re
from biplist import readPlist
from PIL import Imagedef split_plist_atlas(path):image = Image.open(os.path.splitext(path)[0]+".png")plist = readPlist(os.path.splitext(path)[0]+".plist")prefix = os.path.dirname(path)+os.sep + "Sprites_" + \get_file_name(path) + os.sepframes: dict = plist["frames"]regex = re.compile("({|})")for k in frames:filename = prefix + k.replace("jpg", "png")rectKey = "frame" if "frame" in frames[k] else "textureRect"rect = regex.sub("", frames[k][rectKey]).split(",")rect = [int(v) for v in rect]rotateKey = "rotated" if "rotated" in frames[k] else "textureRotated"rotate: bool = frames[k][rotateKey]x = rect[0]y = rect[1]w = rect[0] + rect[2] if not rotate else rect[0] + rect[3]h = rect[1] + rect[3] if not rotate else rect[1] + rect[2]box = (x, y, w, h)img = image.crop(box)if not os.path.exists(prefix):os.makedirs(prefix)if rotate:img = img.rotate(90, expand=1)img.save(filename)print(filename)def get_file_name(path):filename: str = os.path.split(path)[-1]index = filename.rfind(".")return filename[0:index]while True:path = input("请将图片资源或plist文件拖到此处:").strip()print()if os.path.exists(path):if os.path.exists(os.path.splitext(path)[0]+".plist"):try:split_plist_atlas(path)print("\nOver\n")except Exception as e:print("Exception ", e, "\n")print("文件解析出错,请重试\n")else:print("图片资源或plist文件未找到\n")else:print("\n文件路径异常,请重试\n")

注意:jpg合成的图集,会强制拆分为png

Python学习2,拆分plist图集,还原成小图相关推荐

  1. Python学习-将Python3.3.4还原成Python2.6版本

    http://blog.csdn.net/dream_angel_z/article/details/45724515 转载于:https://www.cnblogs.com/Baronboy/p/8 ...

  2. python学习之word文档转换成pdf文档

    平时办公的时候总有word文档转换pdf的操作,关键wps等转换工具都还是收费的.这里利用python代码把多个word文档转换合并成pdf文档的实现.代码运行需要几个必要库,没有下载安装的小伙伴可以 ...

  3. Python小技巧:批量大图压缩成小图

    背景 客户提供了上千张30M以上的tif文件,小程序员们不注意将该图片作为网站中展示的图片.结果就是网站加载速度极慢,小朋友们开始分工进行人工裁剪了.作为很久不编程的码老汉必须出马了. 代码 利用免费 ...

  4. 转python 将base64字符串还原成图片保存

    转python 将base64字符串还原成图片保存 import os,base64 strs='''/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAoHBwgHBgoICAgLC ...

  5. python资料包-5个G的Python学习资料包:让你从零基础成编程大神!

    原标题:5个G的Python学习资料包:让你从零基础成编程大神! 这年头不会点编程 都不好意思说自己是大学生 那些玩转Python的大牛们 几乎成了全民崇拜的偶像 但对于我们这种毫无基础的小白 自学编 ...

  6. python学习精华——成长篇

    python学习精华--成长篇 简单说一下为什么学习python,第一个原因寒假实在无聊( ̄- ̄).其次就是官话,大家都知道浙江吧python纳入中学学习教程,这足以见这门语言在将来可以说是一个风口. ...

  7. Python学习记录——英文名修改成标准格式

    Python学习记录--英文名修改成标准格式 功能需求 把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字.输入:['adam', 'LISA', 'barT'],输出:['Adam', ...

  8. 又有黑科技啦,让老照片还原成彩色!ColouriseSG深度学习上色工具

    先前给各位介绍过 AI Image Enlarger黑科技-人工智能无损放大图片素材不失真 ,相信大家都会人工智能有或多或少的了解吧-今天给大家推荐老照片修复三色工具.相信大家都曾经看过老的照片,不管 ...

  9. Python 把图片拆分成宫格图片组

    文章目录 Python 把图片拆分成宫格图片组 Python 把图片拆分成宫格图片组 import os from PIL import Image# 所需安装的模块 # pip install pi ...

最新文章

  1. tiny-cnn开源库的使用(MNIST)
  2. python configuration_Python(2.7.6) 标准日志模块 - Logging Configuration
  3. Boost:bind绑定和或||的测试程序
  4. Acwing1069. 凸多边形的划分
  5. c语言编写程序求8,使用c语言编写程式,实现计算1*2*3+4*5*6+7*8*9+……+28*29*30的值...
  6. 浙江省高等学校计算机等级考试有什么用,06秋年秋浙江省高等学校计算机等级考试试卷(三级数据库技术及应用)...
  7. PAT 1048 数字加密
  8. 软件测试准备(摘要)
  9. python清除实例化类_在Python中,如何尝试(和排除)类的实例化?
  10. (四)基于Multisim的超外差接收系统:检波器的设计
  11. 不使用自动注解方式来生成mapper,采用原生方式来生成mapper
  12. 网络-HTTP请求跨域访问控制
  13. 时间复杂度(3):排序算法的时间复杂度 空间复杂度 总结
  14. db2 随机数函数_sql中的随机函数怎么用?
  15. 笔趣阁 单篇小说采集
  16. 消息队列——ActiveMQ使用及原理浅析
  17. 人脸图像光照预处理(1)
  18. 软件工程第二次自考总结(2020年8月)
  19. 魔兽世界插件开发:Beginning Lua with World of Warcraft Add-ons 中文翻译及学习 (1.1)
  20. 飞桨博士会第十一期回顾:人工智能与生命科学的硬核碰撞

热门文章

  1. Stegsolve.jar工具包准备,避坑指南,教你正确启动Stegsolve
  2. 阿里员工一年挣多少钱?聊一聊阿里薪酬职级体系
  3. 纬度app:果酸焕肤是个什么原理,自己在家可以做吗?
  4. 基于springboot+jsp的商场停车场服务管理信息系统
  5. 因金庸笔下的角色而走红的明星,李若彤小龙女,古天乐杨过
  6. 利用js结合canvas给图片打马赛克
  7. CentOS MySQL数据库备份
  8. 32位全彩色与24位全彩色有啥区别
  9. 一些十分有用的字符串相关的函数,在写串口解析,TCP HTTP通信时有用
  10. gateway的配置文件