概述
最近沉迷于 Pokemon Quest ,目前可供收集的 Pokemon 一共 151 个,从网上找了个全图,想撸一个 App 自己玩。不巧的是这个全图是一张 PNG 格式的图片,包含了所有的 Pokemon 图像,为了方便起见,需要把这 151 个 Pokemon 图像切割出来,构成 151 个单独的图片文件。
思路
起初尝试了在线的分割工具,结果不理想,不是数量不对就是格式有问题。还是自己撸起袖子, Python 走起吧。
这个 全图 比较简单,大小是 64 × 9664 的,而每一张 Pokemon 图片的大小是 64 x 64 的,因此一共是 9664 / 64 = 151 个。代码实现思路也很简单,读入全图,循环设置裁剪区域大小并写入一个单独文件即可。
代码实现
#! /usr/bin/python
# -*-coding:utf-8-*-
from PIL import Image
im = Image.open("pm.png")
img_size = im.size
print("图片宽度和高度分别是{}".format(img_size))
w = img_size[0]
h = 64
x = 0
y = 0
for i in range(1, 152):
y = (i-1) * h
region = im.crop((x, y, x+w, y+h))
name = str(i) + ".png"
region.save(name)
print("fine")
图片下载