반응형
파이썬, 이미지 썸네일 만들기
[예제 코드] main.py
from PIL import Image
import os
import mimetypes
def create_thumbnail(image_path, thumbnail_size=(128, 128)):
"""
이미지 파일을 읽어 썸네일을 생성하고 저장하는 함수
Args:
image_path (str): 이미지 파일 경로
thumbnail_size (tuple): 썸네일 크기 (기본값: 128x128)
"""
try:
img = Image.open(image_path) # 이미지 파일 열기
img.thumbnail(thumbnail_size) # 썸네일 생성
# 저장할 파일 이름 및 경로 생성
basename = os.path.basename(image_path)
name, ext = os.path.splitext(basename)
thumbnail_path = os.path.join("thumbnail", f"{name}_thumbnail{ext}")
img.save(thumbnail_path) # 썸네일 저장
print(f"썸네일 저장 성공: {thumbnail_path}")
except Exception as e:
print(f"썸네일 처리 오류: {e}")
def main():
"""
images 폴더의 이미지 파일들을 읽어 썸네일을 생성하고 thumbnail 폴더에 저장하는 함수
"""
images_dir = "images" # images 폴더 경로
if not os.path.exists("thumbnail"): # thumbnail 폴더 없으면 생성
os.makedirs("thumbnail")
for filename in os.listdir(images_dir): # images 폴더의 모든 파일
image_path = os.path.join(images_dir, filename) # 파일 경로 생성
try:
mime_type = mimetypes.guess_type(image_path)[0]
if mime_type and mime_type.startswith('image'): # 이미지 파일인지 확인
# 썸네일 생성 및 저장
create_thumbnail(image_path)
except Exception as e:
print(f"파일 처리 오류: {e}")
if __name__ == "__main__":
main()
[파일 결과]
반응형
'Python 활용' 카테고리의 다른 글
파이썬, pdf 파일 읽기, 저장, 병합 (0) | 2024.12.22 |
---|---|
파이썬, 유용한 라이브러리 5 (1) | 2024.12.20 |
Azure App Service에 Python(Django, Flask, FastAPI) 웹앱 배포 (0) | 2024.11.27 |
파이썬 프로그램 프로세스가 사용하는 메모리 크기 검사 (0) | 2024.10.23 |
파이썬, random 모듈을 대체하기 (os.urandom) (1) | 2024.10.10 |