Python 切割图片获取 151 个 Pokemon

概述

最近沉迷于 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")

图片下载

参考资料

Advertisements

分类:Development

Tagged as: ,

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google+ photo

You are commenting using your Google+ account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理