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")

图片下载

    原文作者:萌新程序员
    原文地址: https://zhuanlan.zhihu.com/p/55237850
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞