23 lines
733 B
Python
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)
|