xah icon

webtoon stitch v0.0.2

xah | PRO | 11/23/21 06:48:31 AM UTC (Edited) | 0 ⭐ | 363 👁️ | Never ⏰ | []
Python |

1.79 KB

|

None

|

0 👍

/

0 👎

#This code does everything in subdirectories only.
 
from PIL import Image
import os
 
def getFolders(dir):
    return [name for name in os.listdir(dir)
            if os.path.isdir(os.path.join(dir, name))]
 
def getFiles(dir):
    files = []
    for c in os.listdir(dir):
        _, ext = os.path.splitext(c)
 
        if ext == '.png':
            files.append(c)
 
    return files
 
def merge_images(dir, file):
    image = Image.open(os.path.join(dir, file))
    base = Image.open(out_file)
 
    (width1, height1) = image.size
    (width2, height2) = base.size
 
    result_width = max(width1, width2)
    result_height = height1 + height2
 
    out = Image.new('RGB', (result_width, result_height))
    out.paste(im=base, box=(0, 0))
    out.paste(im=image, box=(0, height2))
 
    out.save(out_file,"PNG")
    return out
 
def createTarget():
    result = Image.new('RGB', (1, 1))
    result.save(out_file,"PNG")
 
def name(loop):
    loop = int(loop) + 1
    if  loop < 10:
        loop = '00' + str(loop)
 
    elif loop < 100:
        loop = '0' + str(loop)
 
    else:
        loop = str(loop)
 
    return str(loop)
    
dir = '/Users/user/Documents/[raws]All Raws/'
rootdir = dir
folder = getFolders(dir)
 
imgNum = '001'
 
for i in range(len(folder)):
    subfolder = getFolders(rootdir + folder[i])
    if subfolder != []:
        for x in range(len(subfolder)):
            subfolderPath = rootdir + folder[i] + '/' + subfolder[x]
            images = getFiles(subfolderPath)
            out_file = folder[i] + '_' + imgNum + '.png'
            createTarget()
            for im in images:
                merge_images(subfolderPath, im)
            imgNum = name(imgNum)
 
        print(folder[i] + ': Done.')
    else:
        break
print('\n\nAll done!')

Comments