BurningTimesAi/공유/기획/FirstRising/몬스터보스/tools/unity_eval/shrink.py

23 lines
733 B
Python

# 찍은 화면을 보기 좋게 줄이고 검은 여백을 잘라 이어 붙인다: shrink.py <출력> <파일...>
import sys
from PIL import Image
out = sys.argv[1]
images = []
for path in sys.argv[2:]:
im = Image.open(path).convert("RGB")
gray = im.convert("L").point(lambda p: 255 if p > 10 else 0)
box = gray.getbbox()
if box:
im = im.crop(box)
h = 640
im = im.resize((max(1, int(im.size[0] * h / im.size[1])), h), Image.LANCZOS)
images.append(im)
w = sum(i.size[0] for i in images) + 6 * (len(images) - 1)
sheet = Image.new("RGB", (w, 640), (20, 20, 20))
x = 0
for im in images:
sheet.paste(im, (x, 0))
x += im.size[0] + 6
sheet.save(out, quality=88)
print("saved", out, sheet.size)