336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
해당 경로와 하위 경로에 있는 모든 이미지를 정사각형으로 자릅니다.
가로로 긴 경우만 작동하지만 조금만 손보면 세로로 긴 이미지도 OK!
개인적으로 메모하기 위해 적었지만 고칠 내용이 있으면 언제든 말해주세요 :)
import os
from PIL import Image
for root, dirs, files in os.walk('./'):
print("탐색중인 경로: ", dirs)
for idx, file in enumerate(files):
fname, ext = os.path.splitext(file)
if ext in ['.jpg','.png','.gif','.heic','.webp']:
full_dir = root + "/" + file
# print("files", files)
# print("root", root)
# print("dirs", dirs)
# print("full_dir", full_dir)
im = Image.open(full_dir)
width, height = im.size
print("Width: ",width,"px, Height: ",height,"px -> ",file)
if width != height : #일단 가로로 긴 경우만 생각하자
crop_image = im.crop(((width/2)-(height/2),0,(width/2)+(height/2),height))
crop_image.save(os.path.basename(file))
else:
print("정사각형")
print((width/2)-(height/2),0,(width/2)+(height/2),height)
#n = input('입력 : ')