【发布时间】:2021-02-03 19:46:43
【问题描述】:
所以,我正在开发我的第一个非游戏项目,我的目标是创建一个基本的图像切片器。这个想法是我想拍摄一张图像,接收用户输入的切片大小,然后将图像分解成正确数量的切片。我的代码目前正在创建正确数量的切片,第一个切片看起来是正确的,但剩余的切片都是空白图像或完整的 alpha 图像。
这是我的代码:
import sys
from PIL import Image, ImageDraw
im = Image.open("48x48.png")
print('Enter your desired tile size in pixels (Example: 16 will be a 16x16 tile):')
tilesize = input()
tilesize = int(tilesize)
rows = im.size[0] / tilesize
cols = im.size[1] / tilesize
ir = 0
ic = 0
while ir != rows:
while ic != cols:
box = (0 + ic * tilesize, 0 + ir * tilesize, tilesize + ic * tilesize, tilesize + ir * tilesize)
region = im.crop(box)
slice = Image.new('RGBA', (tilesize, tilesize), color=255)
mask=Image.new('L', slice.size, color=255)
draw=ImageDraw.Draw(mask)
draw.rectangle((0,0,tilesize,tilesize), fill=0)
slice.putalpha(mask)
slice.paste(region, box)
outfile = "r" + str(ir+1) + "c" + str(ic+1) + ".png"
slice.save(outfile)
ic += 1
ir +=1
ic = 0
顺便说一下,我正在为此使用 Pillow 库。谁能帮我弄清楚我做错了什么?谢谢!
【问题讨论】:
标签: python image split python-imaging-library slice